求助,关于zabbix客户端agent在linux安装问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助,关于zabbix客户端agent在linux安装问题相关的知识,希望对你有一定的参考价值。
参考技术A 1) 先下载tar包 如果浏览器打不开,请直接复制下面的地址放到 迅雷或者QQ旋风中下载即可。如果获取不了,请继续追问或者 私信 告诉我email,我发给你http://cdnetworks-kr-2.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.1/zabbix-2.0.1.tar.gz
2)创建用户
groupadd zabbix
useradd -g zabbix zabbix
--------以下为安装步骤-----------------
1)解压
tar -zxvf zabbix-2.0.1.tar.gz
2)安装
cd zabbix-2.0.1
./configure --prefix=/opt/zabbix_agent --enable-agent
make install
3)安装服务
cat >>/etc/services<<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
4)修改配置文件
vi /opt/zabbix_agent/etc/zabbix_agent.conf
修改Zabbix server的ip
Server=127.0.0.1 #若本机不是server,则修改
5)创建服务
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_*
* 修改 /etc/init.d/zabbix_agentd 变量定义:
BASEDIR=/opt/zabbix_agent
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
#configuration file
CONF_FILE=$BASEDIR/etc/zabbix_agentd.conf
action $"Starting $BINARY_NAME: " $FULLPATH -c $CONF_FILE
6)启动
service zabbix_agentd start
ps ax|grep zabbix_agentd
7)添加到系统目录
ln -s /opt/zabbix_agent/sbin/* /usr/local/sbin/
ln -s /opt/zabbix_agent/bin/* /usr/local/bin/
8)测试,下面的命令需要在server端执行,其中127.0.0.1是agent的ip
zabbix_get -s192.168.60.22 -p10050 -k"system.uptime"本回答被提问者和网友采纳
zabbix批量部署Windows和Linux的agent
对Linux进行批量部署Zabbix-agent我们这里使用的是ansible来对zabbix-agent进行批量部署,当然在Linux上也可以使用脚本来完成部署
环境
ansible:10.127.0.133
agent1:172.168.0.4
agent2:172.168.0.5
进行密钥授权认证实现免密登陆
为方便ansible对agent主机的管理,需要将ansible与agent进行公钥认证来实现免密登陆
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
在ansible/hosts中添加主机信息
[Linux-agent]
172.168.0.4
172.168.0.5
编辑Linux-agent的playbook文件进行批量部署
实现步骤:
- 安装zabbix-agent4.2的rpm包
- 使用yum安装zabbix-agent
- 修改agent配置文件的一些变量,将模板文件覆盖到agent配置文件
- 重启zabbix-agent
定义agent模板
创建一个模板文件,里面包含agent中可变的变量,如:主机名和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
编写playbook文件
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
执行playbook文件进行批量部署
ansible-playbook -i /etc/ansible/hosts /etc/ansible/linux-agent.yml
可以看到playbook已经执行成功了,接下来可以看一下agent的配置文件
可以看到,agent配置文件中的变量也修改完成
创建自动发现规则对部署的主机进行自动发现并添加监控项
创建自动发现规则
添加自动发现动作
配置发现后的操作
可以看到自动发现规则生效了,并链接了Linux-OS模板
对Windows进行批量部署Zabbix-agent
Windows下的批量部署可以通过配置管理工具或者域控制器进行,这里我使用的ansible来对Windows主机进行批量部署
环境
ansible:10.127.0.133
Windows server2012:172.168.0.6
依赖环境
ansible依赖
pywinrm>=0.3.0
pywinrm可以使用pip来进行安装,执行以下命令
pip install pywinrm>=0.3.0
Windows依赖
PowerShell 3.0
NET Framework 4.0+
我这里使用的是2012,上面的环境是不需要做配置的,如果是使用的server2008或更低版本需要进行升级之后才能使用,获取升级的详细信息可以访问ansible官方文档查看
https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html#host-requirements
安装winrm内存修补程序
由于ansible控制Windows不是使用的ssh协议,而是用的Windows的winrm服务,而winrm有一个限制可用内存量的错误,需要安装脚本进行修复
在powershell上执行下面的命令
$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
在防火墙上开启winrm服务端口和agent服务端口
可以在powershell上执行下面的命令查看winrm当前的监听端口
winrm enumerate winrm/config/Listener
winrm服务默认是5985端口,zabbix-agent使用的是10050端口,因此需要在防火墙上开启5985和10050端口或直接关闭防火墙
下载Windows-agent的包
首先需要下载Windows-agent的压缩包并解压到ansible主机下
下载地址:https://www.zabbix.com/download_agents
在ansible/hosts中添加主机信息
需要在hosts中指定与Windows连接的配置信息,默认情况下使用ntlm认证,如果想要获取关于winrm认证的详细信息,可以访问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
编辑Windows-agent的playbook文件进行批量部署
实现步骤:
- 从ansible复制下载好的agent文件到Windows
- 修改agent配置文件的一些变量,将模板文件覆盖到agent配置文件,模板文件与Linux的相同
- 安装zabbix-agent
- 启动zabbix-agent
编写playbook文件
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\
执行playbook文件进行批量部署
ansible-playbook -i /etc/ansible/hosts /etc/ansible/linux-agent.yml
可以看到playbook执行成功了,查看Windows的服务,Zabbix-agent也已经启动
配置动作对部署的主机进行自动发现并添加监控项
添加自动发现动作
配置发现后的操作
可以看到自动发现规则生效了,并链接了Windows-OS模板
欢迎各位关注我的个人微信公众号“没有故事的陈师傅”
以上是关于求助,关于zabbix客户端agent在linux安装问题的主要内容,如果未能解决你的问题,请参考以下文章
CentOS 6.5 安装部署zabbix(Agent客户端篇)
linux12 - zabbix5.0 -- 客户端配置操作02