环境准备

1.操作系统版本

2.关闭防火墙

systemctl stop firewalld

3.关闭selinux

setenforce 0

4.永久关闭selinux,修改完保存退出

vim /etc/selinux/config
SELINUX=disabled

5.下载安装包

百度网盘链接: https://pan.baidu.com/s/1oCNdwR7is_-gbCD0nTlyow 提取码: caj8

yum安装依赖离线包

若通外网,可以直接yum在线安装

yum -y install pcre-devel gcc make nginx 

1.拷贝zabbix_agent.zip包到服务器root家目录

2.解压安装包

unzip zabbix_agent.zip 

3.安装

cd zabbix_agent
yum localinstall *.rpm -y

安装zabbix客户端

1.拷贝zabbix-7.0.3.tar.gz到服务器root家目录

2.解压安装包

tar -zxf zabbix-7.0.3.tar.gz

3.创建zabbix账号

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

4.创建zabbix目录并授权

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix

5.编译安装

cd /root/zabbix-7.0.3
./configure --enable-agent --prefix=/usr/local/zabbix
make install

6.修改zabbix客户端配置文件并保存

vim /usr/local/zabbix/etc/zabbix_agentd.conf

#修改以下配置
Server=192.168.7.120 #指定zabbix-server ip地址
ServerActive=192.168.7.120 #指定zabbix-server ip地址
HostMetadataItem=system.uname

7.配置zabbix-agent启动文件

vim /usr/lib/systemd/system/zabbix-agent.service
#添加下面内容
[Unit]
Description=Zxbbix agent
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -f
[Install]
WantedBy=multi-user.target

#保存并启动
systemctl start zabbix-agent
systemctl enable zabbix-agent

监控服务器端口和进程

注意: zabbix服务端和客户端时间需保持同步!

1.被监控端启动nginx(仅用于测试监控nginx服务端口和进程,若需要监控其它服务步骤类似)

systemctl start nginx

2.创建主机

稍等几秒查看状态,变绿就是正常了

3.监听端口

配置监控项

创建监控项

添加成功后可以查看到刚刚添加的监控项

配置触发器

创建触发器

添加成功后可以查看到刚刚添加的触发器

4.监听进程

配置监控项(步骤与上面类似)

以下是对nginx进程的监控配置,key中的参数说明

name:进程名字,不需要填,填了可能监控不准确

user: 进程用户名

state: 进程状态

cmdline:进程名中包含的字符

获取值并进行测试

添加成功后可以查看到刚刚添加的监控项

配置触发器

添加成功后可以查看到刚刚添加的触发器

这个时候停止被监控端上面的nginx服务,可以看到控制台已经触发了,因为检测不到端口和进程了

systemctl stop nginx

再次启动nginx,可以查看到控制已经没有了,说明nginx服务正常

systemctl start nginx

配置邮件报警

这里使用163邮箱进行实验

1.开启SMTP服务和POP3服务,会生成一个授权码,需要记住这个授权码

2.创建媒介

电子邮件和用户名称都填自己的邮箱账号,这里的密码指的是上面生成的授权码

3.为用户指定报警媒介

记得点击更新

4.测试发送邮件

可以看到收到邮件了

5.添加动作-nginx端口

触发器选择自己之前创建的触发器

添加操作

添加恢复操作

6.添加动作-nginx进程

添加操作

添加恢复操作

可以看到刚才创建的两个动作

7.测试

再次停止nginx服务

systemctl stop nginx

查看是否收到两份异常邮件

再次启动nginx服务

systemctl start nginx

查看是否收到两份恢复邮件