ZABBIX工作流程配置与自定义监控项

1.安装zabbix客户端

[root@192 zabbix-5.0.1]# yum install gcc  pcre*

[root@192 zabbix-5.0.1]# ./configure --enable-agent
[root@192 zabbix-5.0.1]# make install

[root@192 zabbix-5.0.1]# useradd -r -M -s /sbin/nologin zabbix

[root@192 zabbix-5.0.1]# vim /usr/local/etc/zabbix_agentd.conf
Server=192.168.30.226
ServerActive=192.168.30.22
Hostname=001


[root@192 zabbix-5.0.1]# zabbix_agentd 
[root@192 zabbix-5.0.1]# ss -anlt
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN      0      128              *:22                           *:*                  
LISTEN      0      128              *:10050                        *:*                  
LISTEN      0      128             :::22                          :::*             



**服务端**
可以取到值
[root@zyy180 ~]# zabbix_get -s 192.168.30.178 -k vfs.file.cksum[/tmp/zyy]
621795530


解决zabbix中文乱码问题

将自己电脑上的字体导出来
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

源码安装,将文件拖进这个位置,并改名MSYHBD
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

图表没有乱码
在这里插入图片描述



1.创建主机组

1.右上角创建
在这里插入图片描述

在这里插入图片描述


2.添加主机
在这里插入图片描述

Host name要与配置文件一致
右上角添加
在这里插入图片描述

2.添加监控项

A.用模板添加


1.右上角创建主机的第二列
在这里插入图片描述

2.查看图形
点一下IP,在弹框里点Graphs
在这里插入图片描述

在这里插入图片描述



B.用手动方式

1.点ltems
在这里插入图片描述



2.右上角添加监控项
Type选择 Zabbix agent
在这里插入图片描述


3.查看*
在这里插入图片描述


3.添加触发器

1.点击Tiggers
在这里插入图片描述



2.右上角添加
选择刚刚添加的监控项
点击Add选择监控项要是使用的函数
在这里插入图片描述


3.查看触发器
在这里插入图片描述


4.添加媒介

1.媒体配置
SMTP server 是邮箱的服务器(到自己的邮箱网站下查看)
STMP email 是 指定使用邮箱(希望那个邮箱发送邮件给你)
password是pop3/smtp授权码
在这里插入图片描述


选择模板
在这里插入图片描述



2.创建一个用户
在这里插入图片描述



3.添加发送的mail
Type选择刚刚创建的媒介
在这里插入图片描述


在这里插入图片描述


5.添加动作

在这里插入图片描述



1.选择刚刚创建的用户和媒体
Add选择刚刚创建的用户
Seed only to 选择刚刚创建的媒体
在这里插入图片描述


2.完成
在这里插入图片描述

在这里插入图片描述



其他添加媒介动作的方法

1.使用脚本
**在服务器端**

[root@zyy180 yum.repos.d]# yum -y install mailx
[root@zyy180 ~]# echo "666" |mail -s "111" zyy130988@163.com  //可以发邮件
 


 //设置脚本存放路径
[root@zyy180 etc]# vim zabbix_server.conf     
AlertScriptsPath=/usr/local/etc/zabbix/alertscripts


[root@zyy180 etc]#mkdir  -p  /usr/local/etc/zabbix/alertscripts

[root@zyy180 etc]#cd /usr/local/zabbix/alertscripts

[root@zyy180 alertscripts]# vim sendmail.sh

[root@zyy180 alertscripts]# chmod +x sendmail.sh 




[root@zyy180 alertscripts]# vim sendmail.sh

#!/bin/bash

SUBJECT=$(echo -e $2 |tr "\r\n" "\n")
MESSAGE=$(echo -e $1 |tr "\r\n" "\n")


echo "$MESSAGE" | /usr/bin/mail  -s "SUBJECT" $3


[root@zyy180 etc]# chown -R zabbix.zabbix zabbix

重启服务



1.配置媒介,选择Script(脚本在这里插入图片描述


2.选择参数
在这里插入图片描述


3.选择刚创建的媒介
Edit修改 Type改为刚刚创建的媒介
在这里插入图片描述


4.修改动作
send only to 选择刚刚创建的媒介
在这里插入图片描述


5.完成在这里插入图片描述在这里插入图片描述

2.配置文件mail.rc
[root@zyy180 alertscripts]# vim /etc/mail.rc   //更改邮件的配置文件

set from=zyy130988@163.com
set smtp="smtp.163.com"
set smtp-auth-user=zyy130988@163.com
set smtp-auth-password=DJAVQTYYZRYYTYKU
set smtp-auth=login


[root@zyy180 alertscripts]# systemctl restart postfix   //重新启动



1.添加媒介请添加图片描述


2.完成在这里插入图片描述


自定义监控项

**客户端**

1.创建一个脚本存放目录
[root@192 ~]# mkdir /scripts/
[root@192 ~]# cd /scripts/


2.创建脚本文件
[root@192 scripts]# vim check_process.sh 

#!/bin/bash

process_status=$(ps -ef|grep  $1 |grep -Ev "grep|$0" | wc -l )

if [ $process_status -eq 0 ];then
    echo '1'
else 
    echo '0'

fi


3.给执行权限
[root@192 scripts]# chmod +x check_process.sh 




4.修改配置文件启动功能,启动功能

[root@192 scripts]# vim /usr/local/etc/zabbix_agentd.conf

UnsafeUserParameters=1

UserParameter=check_process[*],/bin/bash    /scripts/check_process.sh  $1
                  key         用/bin/bash执行   脚本位置                参数




5.重启服务
[root@192 etc]# pkill zabbix
[root@192 etc]# zabbix_agentd 



**服务端**
[root@zyy180 etc]# zabbix_get -s 192.168.30.178 -k check_process[vim]
0





1.添加监控项
key要写配置文件里的
有函数就在[写进来]
在这里插入图片描述



2.查看监控项
在这里插入图片描述



3.查看监控项的状态值
右上角更改View as
在这里插入图片描述

4.添加触发器

ltem选择刚刚添加的监控项
Resuit=1 (等于1就触发)
在这里插入图片描述

5.完成
在这里插入图片描述


1.自定义监控日志

1.配置客户端文件

1.将脚本下载下来
https://github.com/chendao2015/pyscripts



2.cp到脚本目录下
[root@localhost ~]# unzip pyscripts-master.zip
[root@localhost ~]# cd pyscripts-master
[root@localhost pyscripts-master]mv log.py /scripts/



3.更改配置文件
[root@localhost ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=log_information[*],/usr/bin/python /scripts/log.py $1 $2 $3



4.在服务端测试
[root@zyy180 ~]# zabbix_get -s 192.168.30.230 -k log_information[/var/log/secure,/tmp/logseek,Failed]
1


tail -f  实时查看日志


2.添加监控项
在这里插入图片描述

3.添加触发器
在这里插入图片描述

4.完成
在这里插入图片描述

在这里插入图片描述


2.自定义监控 MySQL主从

1.配置文件

**在1号客户端安装mysql**
**在2号客户端上安装mysql与zabbix客户端**
**1号客户端和2号客户端将主从配好**


1.在2号客户端创建脚本目录(与1号客户端一致)
[root@yyslave ~]# mkdir /scripts
[root@yyslave ~]#cd /scripts/





2.编写脚本
[root@yyslave scripts]# vim master_slave.sh 

#!/bin/bash

master_slave=$( /usr/bin/mysql  -uroot -e 'show slave status\G;' 2>/dev/null | grep "Slave.*Running" | grep -c 'Yes' )

if [ $master_slave -eq 2 ];then
    echo "0"
else
    echo "1"
fi




3.更改配置文件
[root@yyslave scripts]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=master_slave,/usr/bin/bash /scripts/master_slave.sh




4.重启服务
[root@yyslave ~]# pkill zabbix
[root@yyslave ~]# zabbix_agentd 




5.在服务端测试
[root@zyy180 ~]# zabbix_get -s 192.168.30.231 -k master_slave 
0


2.添加监控项
在这里插入图片描述

3.添加触发器
在这里插入图片描述

4.完成
在这里插入图片描述

在这里插入图片描述

3.自定义监控 MySQL延迟

1.更改配置文件


1.进入脚本目录,编写目录
[root@yyslave scripts]# vim database_delay.sh 
#!/bin/bash



delay=$( /usr/bin/mysql -uroot -e 'show slave status\G;' 2>/dev/null | grep 'Seconds_Behind_Master' | awk -F ': '\+ '{print $2}' )

if [ $delay -eq 0 ];then
    echo "0"
else
    echo "1"
fi




2.更改配置文件
[root@yyslave scripts]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=database_delay,/usr/bin/bash /scripts/database_delay.sh




3.重启服务
[root@yyslave scripts]# pkill zabbix
[root@yyslave scripts]# zabbix_agentd 




4.服务端测试
[root@zyy180 ~]# zabbix_get -s 192.168.30.231 -k database_delay 
0



2.添加监控项
在这里插入图片描述

3.添加触发器
这里应该是>0 ,
但为了试验效果所以 表达式=0
在这里插入图片描述


4.完成
在这里插入图片描述


在这里插入图片描述

给监控项加声音

点击User settings,在点击第三个选项
在这里插入图片描述



Zabbix常用监控项

Windons系统:

项目itemsitems说明
内存vm.memory.size[free]
vm.memory.size[total]
系统可用内存量
系统总共内存量

swap空间system.swap.size[,free]
system.swap.size[,total]

swap情况

CPUsystem.cpu.util[,avg1]
CPUsystem.cpu.util[,avg5]系统CPU平均5min的利用百分比
CPUsystem.cpu.util[,avg15]系统CPU平均15min的利用百分比
CPUsystem.cpu.load[percpu,avg1]系统CPU总负载/在线cpu个数平均1min的利用百分比
CPUsystem.cpu.load[percpu,avg5]系统CPU总负载/在线cpu个数平均5min的利用百分比
CPUsystem.cpu.load[percpu,avg15]系统CPU总负载/在线cpu个数平均15min的利用百分比
CPUperf_counter[“\Processor(_Total)% User Time”]系统CPU使用时间百分比情况
CPUperf_counter[“\Processor(_Total)% Processor Time”]系统CPU使用负载百分比情况

磁盘空间(可用量)vfs.fs.size[{#FSNAME},free]可用磁盘空间大小
磁盘空间(使用百分比)vfs.fs.size[{#FSNAME},pfree]可用磁盘空间大小占分区总磁盘空间的百分比
磁盘空间(总量)vfs.fs.size[{#FSNAME},total]分区总磁盘空间大小
磁盘空间(使用量)vfs.fs.size[{#FSNAME},used]已使用磁盘空间大小

I/O (读)perf_counter[\2\16]磁盘读取量 (bytes)
I/O (写)perf_counter[\2\18]磁盘写入量 (bytes)
I/O (读队列)perf_counter[\234(_Total)\1402]磁盘读取队列数
I/O (写队列)perf_counter[\234(_Total)\1404]磁盘写入队列数

网络流量(进口)net.if.in[{#IFNAME}]网络进接口流量 (bps)
网络流量(出口)net.if.out[{#IFNAME}]网络出接口流量 (bps)

系统proc.num[]系统中总进程数量
系统perf_counter[\2\250]系统中线程的数量
系统system.localtime系统时间


Agentagent.ping检查客户端可用性
Agentagent.version检查客户端使用版本
Agentsystem.uname系统详细信息
Agentsystem.uptime系统开启持续时间
Agentagent.hostname客户端主机名



程序内存/虚拟内存proc_info[<process>,<attribute>,<type>]程序内存、虚拟内存监控:
process - process name
attribute - requested process
attribute(vmsize,wkset内存)
type -min,max,avg,sum
eg:proc_info[NewImport.exe,vmsize,sum]
NewImport.exe的内存使用情况
程序PID监控perf_counter[counter,]监控程序Pid
counter-“\Process(reportserver)\ID Process”

Linux系统:

项目itemsitems说明
内存vm.memory.size[available]系统中已用内存量
内存vm.memory.size[total]系统总共内存量
swap空间system.swap.size[,free]
system.swap.size[,pfree]
system.swap.size[,total]

CPUsystem.cpu.switches系统文件切换 (bps)
CPUsystem.cpu.util[,user]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,nice]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,system]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,iowait]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,idle]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,interrupt]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,steal]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.util[,softirq]类似于对应系统中top命令查看CPU显示值
CPUsystem.cpu.load[percpu,avg1]系统CPU总负载/在线cpu个数平均1min的利用百分比
CPUsystem.cpu.load[percpu,avg5]系统CPU总负载/在线cpu个数平均5min的利用百分比
CPUsystem.cpu.load[percpu,avg15]系统CPU总负载/在线cpu个数平均15min的利用百分比

磁盘空间(可用量)vfs.fs.size[{#FSNAME},free]可用磁盘空间大小
磁盘空间(使用百分比)vfs.fs.size[{#FSNAME},pfree]可用磁盘空间大小占分区总磁盘空间的百分比
磁盘空间(总量)vfs.fs.size[{#FSNAME},total]分区总磁盘空间大小
磁盘空间(使用量)vfs.fs.size[{#FSNAME},used]已使用磁盘空间大小
磁盘空间(节点数占用)vfs.fs.inode[{#FSNAME},pfree]可用磁盘节点数占总节点数的百分比

网络流量(进口)net.if.in[{#IFNAME}]网络进接口流量 (bps)
网络流量(出口)net.if.out[{#IFNAME}]网络出接口流量 (bps)

系统proc.num[]系统中总进程数量,通过top查看
系统proc.num[,run]系统中处于running的进程,通过top查看
系统system.localtime系统时间
系统vfs.file.cksum[/etc/passwd]系统文件passwd的文件总数
系统system.boottime系统启动的时间戳
系统system.hostname系统名称
系统system.cpu.intr设备中断
系统kernel.maxfiles系统支持打开文件的最大数量
系统kernel.maxproc系统支持打开进程的最大数量
系统system.users.num登陆系统的用户数
Agentagent.ping检查客户端可用性
Agentagent.version检查客户端使用版本
Agentsystem.uname系统详细信息
Agentsystem.uptime系统开启持续时间
Agentagent.hostname客户端主机名

端口net.tcp.listen[port]监控程序端口启用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值