赞
踩
ZABBIX6版本宏格式:{?avg(/host/key,1h)}
例如:
DOWN:{?last(/USG6555E/net.if.out[ifHCOutOctets.5])}
UP: {?last(/USG6555E/net.if.in[ifHCInOctets.5])}
1.修改zabbix agent配置文件,增加用户参数
#agent配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
#agent2配置文件
vim /etc/zabbix/zabbix_agent2.conf
#搜索
/UserParameter
#用户参数示例
#CPU温度(需要yum install lm_sensors)
UserParameter=get_temp_cpu[*],sensors|grep "Package id $1"|cut -c 17-20
#电源功率(需要yum install lm_sensors)
UserParameter=get_power,sensors|grep "power1: $1"|cut -c 14-19
#执行python脚本
UserParameter=get_usg_log,sudo python /home/cgyxt/workspace/code/xtmonitor/usgtest.py
#配置键值中的参数
UserParameter=cus.metrics[*],/etc/zabbix/scripts/ngx-status.sh $1
注:用户参数较多时,可在agent主配置文件中include引用外部用户自定义配置文件,将UserParameter放在自定义配置文件中:
#建立/usr/local/etc/zabbix_agent2.userparams.conf,将UserParameter放在其中
#/etc/zabbix/zabbix_agent2.conf中:Include=/usr/local/etc/zabbix_agent2.userparams.conf
2.重启zabbix agent
systemctl restart zabbix-agent2
3.zabbix中在对应的zabbix agent主机中添加监控项,键值要与agent配置文件中一致。
注:脚本执行时间超时解决方法:
修改zabbix server和agent的配置文件,设置Timeout=30
#查看配置文件信息,过滤掉注释行
egrep -v '^#|^$' /etc/zabbix/zabbix_agent2.conf
zabbix_get -s 127.0.0.1 -p 10050 -k "vm.memory.size[pavailable]"
#如未添加环境变量或未使用yum安装zabbix_get,
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k "vm.memory.size[pavailable]"
1.#将zabbix用户加入docker组,获得docker监控权限
usermod -aG docker zabbix
#查看验证zabbix用户属组
[root@cgy ~]# groups zabbix
zabbix : zabbix docker
#测试
zabbix_get -s 127.0.0.1 -k docker.info
2.在主机中引用docker by zabbix agent2模板
1.开启Apaches的server-status监控界面,仅允许本地访问
vim /etc/httpd/conf/httpd.conf
<Location /server-status>
SetHandler server-status
Allow from 127.0.0.1
Order allow,deny
</Location>
ExtendedStatus On
2.在主机中引用Apache by Zabbix agent模板,如端口未使用默认的80,在主机配置中修改“继承以及主机宏”中的{$APACHE.STATUS.PORT}
1.登录要被监控的mysql, 创建监控用户
mysql -uroot -p
use mysql;
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
GRANT SELECT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
2.在主机中引用mysql by zabbix agent2模板,引用时在主机配置中修改“继承以及主机宏”:
{$MYSQL.DSN}:127.0.0.1
{$MYSQL.PASSWORD}:数据库密码
{$MYSQL.USER}:数据库用户,填入刚才创建的zbx_monitor
vim /var/www/html/zabbix/conf/zabbix.conf.php
$ZBX_SERVER_NAME = 'newName';
#安装依赖(已安装忽略)
yum -y install unixODBC unixODBC-devel #安装ODBC
yum -y install freetds #安装freetds驱动,用于连接MSSQL
#查看ODBC配置文件位置
odbcinst -j
注:odbcinst.ini 用于定义已安装的ODBC数据库驱动程序;odbc.ini 用来定义数据源
#在/etc/odbcinst.ini中添加SQL Server驱动FreeTDS
vim /etc/odbcinst.ini
[FreeTDS]
Description = ODBC for SQL Server
Driver = /usr/lib64/libtdsodbc.so.0
Setup = /usr/lib64/libtdsS.so
FileUsage = 1
#查看已配置的驱动
odbcinst -q -d
#配置odbc连接信息,添加数据源
vim /etc/odbc.ini
[mssql] #DSN名称
Driver = FreeTDS #驱动名称
Server = 10.16.0.16 #sql server 主机ip
Port = 1433
Database = datebasename # 被监控sqlserver数据库
TDS_Version = 8.0
#检查数据源
odbcinst -q -s
#在被监控的SQL Server 服务器上创建用户并授权。
#在Zabbix上连接数据库测试
isql -v mssql 数据库用户名 密码
#配置完成,可通过ODBC模板或添加“数据库监控”监控项进行监控
(1)通过模板监控
(2)通过监控项查询数据
选主机–>添加监控项—>配置键值(此处有三种模式可选:select、get、discovery,根据自己需要选择,第一个参数自己命名键值,第二个填写DSN名,第三个参数可不填)—>在SQL查询里写入相应的SQL语句。
#安装依赖(已安装忽略)
yum -y install unixODBC unixODBC-devel #安装ODBC
yum -y install mysql-connector-odbc #安装mysql-connector驱动,用于连接MySQL
#ODBC配置文件中添加驱动
vim /etc/odbcinst.ini
根据安装的MySQL驱动版本,将自带的MySQL驱动中的libmyodbc5.so改为libmyodbc8a.so
(也可不修改该文件,直接使用自带的[MySQL ODBC 8.0 Unicode Driver]或[MySQL ODBC 8.0 ANSI Driver]驱动
[MySQL]
Description=ODBC for MySQL
Driver=/usr/lib/libmyodbc8a.so
Setup=/usr/lib/libodbcmyS.so
Driver64=/usr/lib64/libmyodbc8a.so
Setup64=/usr/lib64/libodbcmyS.so
FileUsage=1
#添加数据源
vim /etc/odbc.ini
[my_Syslog]
Description = Data source MySQL
Driver = MySQL
Server = 127.0.0.1
Host = 127.0.0.1
Database = Syslog
Port = 3306
User = zbx_monior
Password = <password>
CHARSET = UTF8
#在Zabbix上连接数据库测试
isql -v my_Syslog 数据库用户名 密码
注:在数据源中已配置密码,可以直接用DSN名称连接:isql -v my_Syslog
#安装依赖
yum install -y net-snmp net-snmp-libs net-snmp-utils net-snmp-perl mrtg snmptt
方法一:使用zabbix自带的Perl脚本接收SNMP Trap
#在源码目录中复制 Perl 的脚本并赋予执行权限
find / -name zabbix_trap_receiver.pl
cp /home/cgyxt/workspace/zabbix/zabbix-6.2.6/misc/snmptrap/zabbix_trap_receiver.pl /usr/bin
chmod a+x /usr/bin/zabbix_trap_receiver.pl
#修改snmptrapd配置文件
find / -name snmptrapd.conf
vim /etc/snmp/snmptrapd.conf
authCommunity log,execute,net <snmp团体名>
perl do "/usr/bin/zabbix_trap_receiver.pl"
#修改Zabbix-server配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
StartSNMPTrapper=1 #开启SNMPTrapper功能
SNMPTrapperFile=/tmp/zabbix_traps.tmp #指定trap获取的日志文件,该路径必须跟zabbix_trap_receiver.pl脚本中设置的路径相同
#启动服务
systemctl enable snmptrapd
systemctl start snmptrapd
systemctl restart zabbix-server
#防火墙开放UDP162端口,Zabbix上配置SNMP Trap类型监控项
方法二:使用snmptt接收SNMP Trap
#修改snmptrapd配置文件
vim /etc/snmp/snmptrapd.conf
authCommunity log,execute,net <snmp团体名>
traphandle default /usr/sbin/snmptthandler
#snmptt.ini配置修改
[root@Server ~]# vim /etc/snmp/snmptt.ini
date_time_format= %Y/%m/%d %H:%M:%S #配置snmptt日志时间格式
mode = daemon #nmptt运行模式
net_snmp_perl_enable = 1
translate_log_trap_oid = 2 #0:显示数字OID,1:显示OID名称,2:显示OID模块名称和其名称
log_file = /var/log/snmptt/snmptt.log #指定传输的日志文件
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf #默认格式化日志配置文件
/etc/snmp/cisco.conf #添加其他的格式化trap日志的配置文件
END
#修改snmptt配置文件,自定义snmptrap格式化规则
vim /etc/snmp/snmptt.conf
# 默认规则,没有其他规则匹配上时,所有trap信息都按此规则处理
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1
#修改Zabbix-server配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
StartSNMPTrapper=1 #开启SNMPTrapper功能
SNMPTrapperFile=/var/log/snmptt/snmptt.log #指定trap获取的日志文件
SNMPTrapFile文件创建
touch /var/log/snmptt/snmptt.log
chown snmptt:snmptt /var/log/snmptt/snmptt.log
#启动服务
systemctl enable snmptrapd
systemctl start snmptrapd
systemctl enable snmptt.service
systemctl start snmptt.service
systemctl restart zabbix-server
#防火墙开放UDP 162端口,Zabbix上配置SNMP Trap类型监控项
#修改zabbix server配置文件
StartReportWriters=1
WebServiceURL=http://localhost:10053/report
#启动zabbix_web_service(临时启动)
zabbix_web_service -c /usr/local/zabbix/etc/zabbix_web_service.conf
#创建守护文件(用于开机自启)
vim /lib/systemd/system/zabbix-web-service.service
[Unit]
Description=Zabbix Web Service
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_web_service.conf"
#EnvironmentFile=-/usr/local/zabbix/sbin/zabbix_web_service
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_web_service.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_web_service -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/zabbix-web-service.service
#启动服务
systemctl start zabbix-web-service.service
systemctl enable zabbix-web-service.service
#在Web页面报表>计划报表中创建并测试计划报表
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。