聽起來挺高大上的,實際也就那么回事了
一、先來個開胃菜:ansible批量安裝客戶端
話不多說,直接上內容(這里要注意一下:這里演示的是普通用戶登陸遠程主機並切換到root用戶進行安裝,所以主機清單里要添加切換到root用戶的密碼):
[root@cll-tianygqyyscbf-app-001 myplay]# pwd /root/myplay [root@cll-tianygqyyscbf-app-001 myplay]# tree . ├── files │ └── zabbix-agent-4.2.3-2.el6.x86_64.rpm │ └── zabbix_agentd.conf └── zabbix_agent_install.yml 1 directory, 3 files [root@cll-tianygqyyscbf-app-001 myplay]# cat zabbix_agent_install.yml - hosts: test remote_user: vmuser tasks: - name: copy zabbix-agent rpm to server copy: src=files/zabbix-agent-4.2.3-2.el6.x86_64.rpm dest=/tmp/ # when: # - ansible_distribution == "CentOS" # - ansible_distribution_major_version == "6" - name: install rpm package become: yes become_method: su shell: rpm -ivh /tmp/zabbix-agent-4.2.3-2.el6.x86_64.rpm - name: copy configure file become: yes become_method: su copy: src=files/zabbix_agentd.conf dest=/etc/zabbix/zabbix_agentd.conf backup=yes notify: restart zabbix_agent - name: start service become: yes become_method: su service: name=zabbix-agent state=started enabled=yes handlers: - name: restart zabbix_agent become: yes become_method: su service: name=zabbix-agent state=restarted [root@cll-tianygqyyscbf-app-001 myplay]#
###########################################################################
[test]
192.168.23.3
[test:vars]
ansible_become_pass='root用戶密碼'
###########################################################################
醉了,有些機器連ssh-copy-id命令都沒有,哎……
scp id_rsa.pub user@192.168.102.252:~/.ssh/authorized_keys
ansible test -m shell -a 'grep ^[a-Z] /etc/zabbix/zabbix_agentd.conf' -u user -b --become-method su --become-user root -K
ansible test -m shell -a "sed -i 's/,192.168.157.44//g' /etc/zabbix/zabbix_agentd.conf" -u user -b --become-method su --become-user root -K
二、zabbix_proxy安裝配置使用
步驟:
- 安裝代理軟件和配置及啟動服務(需要數據庫支持:DBA繞過);
- Web管理頁面上添加proxy;
1、安裝代理軟件和配置及啟動服務:
1、安裝代理軟件和配置及啟動服務: 1.1、安裝zabbix_proxy(不會問我相關源如何配置吧): # yum install zabbix-proxy-mysql 1.2、MySQL安裝大致情況如下: 安裝數據庫 # yum install mariadb-server 啟動服務器 # systemctl start mariadb.service 開機啟動 # systemctl enable mariadb.service 創建庫 > create database zabbix_proxy CHARACTER set utf8 COLLATE utf8_bin; 授權 >grant all on zabbix_proxy.* to zabbix@'localhost' identified by 'YourKey'; 導入基礎數據 # zcat /usr/share/doc/zabbix-proxy-mysql-3.0.8/schema.sql.gz|mysql -uzabbix -p123.Com zabbix_proxy 1.3、代理端配置文件如下: [root@cll-tianygqyyscbf-app-001 zabbix]# grep ^[a-Z] /etc/zabbix/zabbix_proxy.conf Server=zabbix_server端IP地址 Hostname=zms_proxy LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=1024 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=127.0.0.1 DBName=zabbix_proxy DBUser=zabbix DBPassword=YourKey SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=15 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 StatsAllowedIP=127.0.0.1 [root@cll-tianygqyyscbf-app-001 zabbix]#
注:為了減輕zabbix_server端壓力,proxy一般使用的是主動模式,所以這里Hostname特別重要(務必整個系統中全局唯一)
1.4、啟動代理服務器: 啟動服務 # /etc/init.d/zabbix-proxy start 開機自啟 # chkconfig zabbix-proxy on
2、Web管理頁面上添加proxy:
三、自動注冊、自動發現
簡介:
- 自動注冊:zabbix agent主動到zabbix Server上報到,登記;缺點agent有可能找不到Server(配置出錯)
- 自動發現:zabbix Server主動發現所有客戶端,然后將客戶端登記自己的小本本上,缺點zabbix server壓力山大(網段大,客戶端多),時間消耗多。
這里只演示自動注冊
步驟:
- 主機名和agent配置調整配置;
- Web界面上配置;
1、主機名或zabbix_agentd.conf文件配置:
前提:
自動注冊的主機的主機名要有規律,zabbix_agentd.conf配置文件中HostMetadata值指定一個特征(主要目的是:加入這邊10台機器,其中5台是做web的,另外五台是做DB的就可以配置兩個注冊動作——設置不同的模板);下面給個具體示例:
2、Web界面上配置:
好了,就這么多……