12.25 Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

我们需要监控Linux服务器的运行状况,前提是需要在Linux服务器上安装Zabbix Agent。这里介绍一下Zabbix Agent在Linux系统上的几种安装方式以及批量安装实现的方法。

方法一:如果Linux服务器是可以上网的,配置好对应的zabbix源,yum方式安装即可。

<code># rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm/<code>
<code># yum install -y zabbix-agent /<code>
<code># systemctl start zabbix-agent /<code>

方法二:如果Linux服务器是不可以上网的,可通过repo.zabbix.com网站下载对应版本的Zabbix Agent部署包文件。将Zabbix Agent部署包上传到Linux服务器上,执行如下命令进行安装。

<code># rpm -ivh zabbix-agent-4.4.4-1.el7.x86_64.rpm/<code>
<code># systemctl start zabbix-agent/<code>

方法三:前往https://www.zabbix.com/cn/download_agents下载对应版本的预编译Agent,将下载好的tar包上传到Linux服务器用户目录上。执行下列命令:

<code># mkdir $HOME/zabbix_agent /<code>
<code># groupadd zabbix/<code>
<code># useradd -g zabbix zabbix /<code>
<code># cd zabbix_agent/<code>
<code># tar -xzvf zabbix_agents-4.4.4-linux3.0-amd64-static.tar.gz /<code>
<code># $HOME/zabbix_agent/sbin/zabbix_agentd -c $HOME/zabbix_agent/conf/zabbix_agentd.conf /<code>

方法四: 源码进行安装,前往https://www.zabbix.com/cn/download_sources下载源码包,将下载好的tar包上传到服务器用户目录上,执行下列命令:

<code># tar -xzvf zabbix-4.4.4.tar.gz/<code>
<code># groupadd zabbix/<code>
<code># useradd -g zabbix zabbix/<code>
<code># cd zabbix-4.4.4/<code>
<code># ./configure --prefix=/etc/zabbix_agent --enable-agent /<code>
<code># make install/<code>
<code># /root/zabbix-4.4.4/src/zabbix_agent/zabbix_agentd /<code>

在启动Zabbix Agent我们是需要先修改Zabbix Agent的配置文件的。主要配置主动模式和被动模式,其他参数默认即可。

<code># vi /etc/zabbix/zabbix_agentd.conf/<code>
  • 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。

<code># yum install -y ansible/<code>

2.生成默认格式的密码对,私钥和公钥。

<code># ssh-keygen/<code>

3.将生成的公钥分发到受管主机上实现免密码登录。

<code># ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]/<code>
<code># ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]/<code>

4.配置Ansible主机清单

<code>#vi /etc/ansible/hosts/<code>
<code>[Linux]/<code>
<code>192.168.52.121/<code>
<code>192.168.52.122/<code>

5.可以使用ping模块测试连接成功。

<code># ansible Linux -m ping/<code>
<code>192.168.52.121 | SUCCESS => {/<code>
<code> "changed": false,/<code>
<code> "ping": "pong"/<code>
<code>}/<code>
<code>192.168.52.122 | SUCCESS => {/<code>
<code> "changed": false,/<code>
<code> "ping": "pong"/<code>
<code>}/<code>

那么接下来我们通过Ansible Playbook进行批量部署,大概实现思路:

  1. 安装zabbix-agent的rpm包,因为大部分Linux主机不能连接外网,所以我们选择安装方式二,先将RPM包下载到ansible服务器上,然后被管Linux主机copy这个RPM到本地安装。
  2. 修改zabbix agent的配置文件。我通过一个shell脚本去实现,将这shell脚本复制到被管主机本地执行就可以了。
  3. 最后启动zabbix agent,并设置开机启动。

修改zabbix agent配置文件shell脚本参考:


<code># vi /etc/ansible/zabbix_agent_conf.sh/<code>
<code>#!/bin/bash/<code>
<code>Hostname=`hostname`/<code>
<code>sed -i 's#Server=127.0.0.1#Server=192.168.52.10#g' /etc/zabbix/zabbix_agentd.conf/<code>
<code>sed -i 's#ServerActive=127.0.0.1#ServerActive=192.168.52.10#g' /etc/zabbix/zabbix_agentd.conf/<code>
<code>sed -i 's#Hostname=Zabbix server#Hostname=$Hostname#g' /etc/zabbix/zabbix_agentd.conf/<code>

批量安装zabbix agent的playbook参考:

<code># vi /etc/ansible/linux-agent.yaml/<code>
<code>---/<code>
<code>- hosts: Linux/<code>
<code>
<code> tasks:/<code>
<code> - name: Copy Zabbix Agent RPM/<code>
<code> copy: class="lazy" src="//p2.ttnews.xyz/loading.gif" data-original=/root/zabbix-agent-4.4.4-1.el7.x86_64.rpm dest=/root/zabbix-agent-4.4.4-1.el7.x86_64.rpm/<code> 
<code> - name: Install Zabbix Agent RPM/<code>
<code> command: rpm -ivh /root/zabbix-agent-4.4.4-1.el7.x86_64.rpm/<code>
<code> - name: Copy Zabbix Agent Conf_sh/<code>
<code> copy: class="lazy" data-original=/etc/ansible/zabbix_agent_conf.sh dest=/root/ mode=+x/<code>
<code> - name: Shell/<code>
<code> command: /root/zabbix_agent_conf.sh/<code>
<code> - name: Start Zabbix Agent/<code>
<code> service: name=zabbix-agent state=started enabled=yes/<code>

最后执行效果:


Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

Linux主机启动Zabbix Agent后,我们在登录到Zabbix WEB界面添加要监控的Linux主机。点击Configuration(配置)–>Hosts(主机)–>Create host(创建主机)。


Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

切换到Templates(模板)选项卡,Zabbix自带有一些模板,监控Linux主机添加“Template OS Linux by Zabbix agent”即可。Zabbix自带的模板监控项还是比较全的,当然你也可以根据自己的需求修改这些监控项参数了。


Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

添加完成后查看主机列表,绿色的ZBX表示已经成功的监控了这台Linux主机了。


Linux系统监控安装Zabbix agent方式及Ansible批量安装实现

当主机添加完成之后,我们便可以查到最新的监控数据了,例如cpu、内存、硬盘等情况。在Monitoring(监测中)–>Lastest data(最新数据)进行查看。


Linux系统监控安装Zabbix agent方式及Ansible批量安装实现


分享到:


相關文章: