Linux系统监控安装Zabbixagent方式及Ansible批量安装实现
我们需要监控Linux服务器的运行状况,前提是需要在Linux服务器上安装Zabbix Agent。这里介绍一下Zabbix Agent在Linux系统上的几种安装方式以及批量安装实现的方法。
方法一:如果Linux服务器是可以上网的,配置好对应的zabbix源,yum方式安装即可。
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum install -y zabbix-agent
systemctl start zabbix-agent
方法二:如果Linux服务器是不可以上网的,可通过repo.zabbix.com网站下载对应版本的Zabbix Agent部署包文件。将Zabbix Agent部署包上传到Linux服务器上,执行如下命令进行安装。
rpm-ivhzabbix-agent-4.4.4-1.el7.x86_64.rpm
systemctl start zabbix-agent
方法三:前往https://www.zabbix.com/cn/download_agents下载对应版本的预编译Agent,将下载好的tar包上传到Linux服务器用户目录上。执行下列命令:
mkdir$HOME/zabbix_agent
groupadd zabbix
useradd -g zabbix zabbix
cdzabbix_agent
tar-xzvfzabbix_agents-4.4.4-linux3.0-amd64-static.tar.gz
$HOME/zabbix_agent/sbin/zabbix_agentd -c$HOME/zabbix_agent/conf/zabbix_agentd.conf
方法四:源码进行安装,前往https://www.zabbix.com/cn/download_sources下载源码包,将下载好的tar包上传到服务器用户目录上,执行下列命令:
tar-xzvfzabbix-4.4.4.tar.gz
groupadd zabbix
useradd -g zabbix zabbix
cdzabbix-4.4.4
./configure --prefix=/etc/zabbix_agent --enable-agent
make install
/root/zabbix-4.4.4/src/zabbix_agent/zabbix_agentd
在启动Zabbix Agent我们是需要先修改Zabbix Agent的配置文件的。主要配置主动模式和被动模式,其他参数默认即可。
vi /etc/zabbix/zabbix_agentd.conf
- Server=192.168.52.10:指定agent端工作于被动模式,允许哪台服务器拉取当前服务器的数据,Server端会主动拉取agent端数据,如果有多个IP,可以使用逗号隔开。
- ListenPort=10050 :指定agent端工作于被动模式时所监听的端口号,默认端口10050,说明Server端默认访问10050端口拉取数据。
- ServerActive=192.168.52.10:指定agent端工作于主动模式,将信息主动推送到哪台Server上,当有多个IP时,可以用逗号隔开。
- Hostname=linux_52.122:此参数用于指定当前主机的主机名,Server端通过此参数对应的主机名识别当前主机。
以上就是Linux主机上几种Zabbix Agent安装方式,但是如果我们需要监控大量的Linux主机,那么就要在这些主机上一台一台去安装Zabbix Agent,这是多么繁琐的一件事情,所以我们还是得利用批量方式去实现,通过Ansible工具批量实现是一个非常轻松又效率的安装方式,关于ansible的介绍可以浏览我之前相关的文章,这里我们再来简单回顾一下。
1.安装Ansible。
yum install -y ansible
2.生成默认格式的密码对,私钥和公钥。
ssh-keygen
3.将生成的公钥分发到受管主机上实现免密码登录。
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.52.121
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.52.122
4.配置Ansible主机清单
vi /etc/ansible/hosts
[Linux]
192.168.52.121
192.168.52.122
5.可以使用ping模块测试连接成功。
ansible Linux -m ping
192.168.52.121|SUCCESS=>{
"changed":false,
"ping":"pong"
}
192.168.52.122|SUCCESS=>{
"changed":false,
"ping":"pong"
}
那么接下来我们通过Ansible Playbook进行批量部署,大概实现思路:
- 安装zabbix-agent的rpm包,因为大部分Linux主机不能连接外网,所以我们选择安装方式二,先将RPM包下载到ansible服务器上,然后被管Linux主机copy这个RPM到本地安装。
- 修改zabbix agent的配置文件。我通过一个shell脚本去实现,将这shell脚本复制到被管主机本地执行就可以了。
- 最后启动zabbix agent,并设置开机启动。
修改zabbix agent配置文件shell脚本参考:
vi /etc/ansible/zabbix_agent_conf.sh
!/bin/bash
Hostname=`hostname`
sed-isServer=127.0.0.1Server=192.168.52.10g/etc/zabbix/zabbix_agentd.conf
sed-isServerActive=127.0.0.1ServerActive=192.168.52.10g/etc/zabbix/zabbix_agentd.conf
sed-isHostname=Zabbix serverHostname=$Hostnameg/etc/zabbix/zabbix_agentd.conf
批量安装zabbix agent的playbook参考:
vi /etc/ansible/linux-agent.yaml
---
- hosts: Linux
tasks:
-name: Copy Zabbix Agent RPM
copy: src=/root/zabbix-agent-4.4.4-1.el7.x86_64.rpm dest=/root/zabbix-agent-4.4.4-1.el7.x86_64.rpm
- name:InstallZabbixAgentRPM
command: rpm -ivh /root/zabbix-agent-4.4.4-1.el7.x86_64.rpm
-name: Copy Zabbix Agent Conf_sh
copy: src=/etc/ansible/zabbix_agent_conf.sh dest=/root/mode=+x
-name: Shell
command: /root/zabbix_agent_conf.sh
- name:StartZabbixAgent
service: name=zabbix-agent state=started enabled=yes
最后执行效果:
Linux主机启动Zabbix Agent后,我们在登录到Zabbix WEB界面添加要监控的Linux主机。点击Configuration(配置)–>Hosts(主机)–>Create host(创建主机)。
切换到Templates(模板)选项卡,Zabbix自带有一些模板,监控Linux主机添加Template OS Linux by Zabbix agent即可。Zabbix自带的模板监控项还是比较全的,当然你也可以根据自己的需求修改这些监控项参数了。
添加完成后查看主机列表,绿色的ZBX表示已经成功的监控了这台Linux主机了。
当主机添加完成之后,我们便可以查到最新的监控数据了,例如cpu、内存、硬盘等情况。在Monitoring(监测中)–>Lastest data(最新数据)进行查看。
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!