我們這里使用的是ansible來對(duì)zabbix-agent進(jìn)行批量部署,當(dāng)然在Linux上也可以使用腳本來完成部署
創(chuàng)新互聯(lián)建站是專業(yè)的冠縣網(wǎng)站建設(shè)公司,冠縣接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行冠縣網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
ansible:10.127.0.133
agent1:172.168.0.4
agent2:172.168.0.5
為方便ansible對(duì)agent主機(jī)的管理,需要將ansible與agent進(jìn)行公鑰認(rèn)證來實(shí)現(xiàn)免密登陸
ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.168.0.4
ssh-copy-id -i /root/.ssh/id_rsa.pub 172.168.0.5
[Linux-agent]
172.168.0.4
172.168.0.5
創(chuàng)建一個(gè)模板文件,里面包含agent中可變的變量,如:主機(jī)名和server地址
[root@zabbix-server ~]# vim /etc/ansible/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server={{server}}
ServerActive={{server}}
Hostname={{hostname}}
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1
vim /etc/ansible/linux-agent.yml
- hosts: zabbix-agent
remote_user: root
vars:
server: 10.127.0.133
hostname: "{{ ansible_hostname }}"
tasks:
- name: install rpm
command: rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.1-1.el7.x86_64.rpm
- name: install agent
command: yum install zabbix-agent -y
- name: cp templates zabbix_agentd.conf to zabbix agentd
template: src=/etc/ansible/zabbix_agentd.conf dest=/etc/zabbix/zabbix_agentd.conf
- name: restart zabbix-agent
command: systemctl restart zabbix-agent
ansible-playbook -i /etc/ansible/hosts /etc/ansible/linux-agent.yml
可以看到playbook已經(jīng)執(zhí)行成功了,接下來可以看一下agent的配置文件
可以看到,agent配置文件中的變量也修改完成
可以看到自動(dòng)發(fā)現(xiàn)規(guī)則生效了,并鏈接了Linux-OS模板
Windows下的批量部署可以通過配置管理工具或者域控制器進(jìn)行,這里我使用的ansible來對(duì)Windows主機(jī)進(jìn)行批量部署
ansible:10.127.0.133
Windows server2012:172.168.0.6
pywinrm>=0.3.0
pywinrm可以使用pip來進(jìn)行安裝,執(zhí)行以下命令
pip install pywinrm>=0.3.0
PowerShell 3.0
NET Framework 4.0+
我這里使用的是2012,上面的環(huán)境是不需要做配置的,如果是使用的server2008或更低版本需要進(jìn)行升級(jí)之后才能使用,獲取升級(jí)的詳細(xì)信息可以訪問ansible官方文檔查看
https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html#host-requirements
由于ansible控制Windows不是使用的ssh協(xié)議,而是用的Windows的winrm服務(wù),而winrm有一個(gè)限制可用內(nèi)存量的錯(cuò)誤,需要安裝腳本進(jìn)行修復(fù)
在powershell上執(zhí)行下面的命令
$url = "https://raw.githubusercontent.com/jborean93/ansible-windows/master/scripts/Install-WMF3Hotfix.ps1"
$file = "$env:temp\Install-WMF3Hotfix.ps1"
(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)
powershell.exe -ExecutionPolicy ByPass -File $file -Verbose
可以在powershell上執(zhí)行下面的命令查看winrm當(dāng)前的監(jiān)聽端口
winrm enumerate winrm/config/Listener
winrm服務(wù)默認(rèn)是5985端口,zabbix-agent使用的是10050端口,因此需要在防火墻上開啟5985和10050端口或直接關(guān)閉防火墻
首先需要下載Windows-agent的壓縮包并解壓到ansible主機(jī)下
下載地址:https://www.zabbix.com/download_agents
需要在hosts中指定與Windows連接的配置信息,默認(rèn)情況下使用ntlm認(rèn)證,如果想要獲取關(guān)于winrm認(rèn)證的詳細(xì)信息,可以訪問https://docs.ansible.com/ansible/latest/user_guide/windows_winrm.html
[windows]
172.168.0.6 ansible_python_interpreter=/usr/bin/python ansible_user="administrator" ansible_password="asd.123" ansible_port=5985 ansible_connection="winrm" ansible_winrm_transport=ntlm ansible_winrm_server_cert_validation=ignore
vim /etc/ansible/windows-agent.yml
- hosts: windows
remote_user: administrator
vars:
server: 10.127.0.133
hostname: "{{ ansible_host }}"
tasks:
- name: cp zabbix-agent
win_copy:
src: /etc/ansible/windows_agent/
dest: C:\windows_agent\
- name: cp templates zabbix_agentd.conf to zabbix agentd
win_template:
src: /etc/ansible/zabbix_agentd.conf
dest: C:\windows_agent\conf\
- name: install zabbix-agent
win_command: zabbix_agentd.exe -i -c C:\windows_agent\conf\zabbix_agentd.conf
args:
chdir: C:\windows_agent\bin\
- name: start zabbix-agent
win_command: zabbix_agentd.exe -s -c C:\windows_agent\conf\zabbix_agentd.conf
args:
chdir: C:\windows_agent\bin\
ansible-playbook -i /etc/ansible/hosts /etc/ansible/linux-agent.yml
可以看到playbook執(zhí)行成功了,查看Windows的服務(wù),Zabbix-agent也已經(jīng)啟動(dòng)
可以看到自動(dòng)發(fā)現(xiàn)規(guī)則生效了,并鏈接了Windows-OS模板
歡迎各×××陳師傅”