9.5、zabbix高级操作(2)
阅读原文时间:2023年07月08日阅读:2

4、zabbix的分布式监控:

使用zabbix-proxy主动方式(被动也可),使用zabbix-agent的主动方式(被动也可);

Zabbix Server <- Zabbix Proxy <- Zabbix Agent

新建一台虚拟机,虚拟机信息如下:

服务器主机名

ip地址

slave-node2

172.16.1.92

(1)简介:

Zabbix-proxy是一个分布式监控代理系统,它可以以一个中心点、多个分节点的模式运行,它收集监控到的数据,先存放在缓冲区,保存的时间可以通过

配置文件设定,然后再传送到Zabbixserver,监控代理需要一个单独的数据库,zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要

加上一条规则即可;

适用范围:跨机房、跨地域的网络监控系统,可以监控拥有不可靠网络连接的区域,简化分布式监控的维护,当监控上千的设备时分担Zabbix Server压力;

例子:公司有个项目或多个项目,在不同地域都有大批量的服务器需要被监控总不能一个地域搭建一个Zabbix Server吧,这样即不方便管理、

也浪费资源,如果就一台Zabbix Server监控所有机器,又需要该机器有很好的性能 ( 机器量大,一台基本不可能实现 )这时就可以使用Proxy,将

Zabbix Server架设在公司内部或某个地方,每个地域放一台Proxy来收集该地域Agent的数据,然后传给Zabbix Server,这样就很方便了;

(2)安装mysql数据库:

1)安装:

[root@slave-node2 ~]# yum install mariadb-server -y

2)启动数据库并加入开机自启动:

[root@slave-node2 ~]# systemctl start mariadb

[root@slave-node2 ~]# systemctl enable mariadb

[root@slave-node2 ~]# netstat -tunlp | grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3004/mysqld

3)优化:

[root@slave-node2 ~]# mysql_secure_installation

(3)安装zabbix-proxy:

1)下载zabbix-proxy的rpm包:

[root@slave-node2 ~]# mkdir -p /tools/

[root@slave-node2 ~]# cd /tools/

[root@slave-node2 tools]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-proxy-mysql-4.0.0-2.el7.x86_64.rpm

2)更改zabbix的yum源:

#下载并安装zabbix的yum源:

[root@slave-node2 tools]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

[root@slave-node2 tools]# rpm -ivh /tools/zabbix-release-4.0-1.el7.noarch.rpm

#更改为阿里云的zabbix yum源:

[root@slave-node2 ~]# cat /etc/yum.repos.d/zabbix.repo

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=http://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=http://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

gpgcheck=1

#验证:

[root@slave-node2 ~]# yum list | grep zabbix

#安装zabbix-proxy:

[root@slave-node2 ~]# yum localinstall /tools/zabbix-proxy-mysql-4.0.0-2.el7.x86_64.rpm -y

(4)为zabbix-proxy建立数据库并导表:

1)建库:

[root@slave-node2 ~]# mysql -uroot -p123456

MariaDB [(none)]> create database zabbix_proxy CHARACTER SET UTF8 COLLATE UTF8_BIN;

MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'172.16.1.%' identified by '123456';

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit;

2)导表:

#查看表所在的位置:

[root@slave-node2 ~]# rpm -ql zabbix-proxy-mysql

#导入:

[root@slave-node2 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.0/schema.sql.gz | mysql -h172.16.1.92 -P3306 -uzabbix -p123456 zabbix_proxy

3)验证:

[root@slave-node2 ~]# mysql -h172.16.1.92 -P3306 -uzabbix -p123456 -e "use zabbix_proxy;show tables"

(5)修改zabbix-haproxy配置文件(部分修改):

[root@slave-node2 ~]# vim /etc/zabbix/zabbix_proxy.conf

ProxyMode=0

#开启zabbix-proxy主动模式(0表示开启,1表示关闭);

Server=172.16.1.90

#zabbix-proxy主动模式下zabbix-server的ip;

ServerPort=10051

#zabbix-proxy主动模式下zabbix-server的端口号;

HostnameItem=system.hostname

#zabbix-proxy主动模式下的主机名;

ListenPort=10051

#zabbix-proxy监听的端口号;

DBHost=172.16.1.92

#zabbix-proxy连接的数据库的ip;

DBName=zabbix_proxy

#zabbix-proxy连接的数据库的库名;

DBUser=zabbix

#zabbix-proxy连接数据库的用户名;

DBPassword=123456

#zabbix-proxy连接数据库的密码;

DBPort=3306

#zabbix-proxy连接数据库的端口号;

ConfigFrequency=60

#Proxy在N秒钟内从Zabbix Server检索配置数据的频率,用于zabbix-proxy主动,Range: 1-3600*24*7,默认3600(单位秒);

DataSenderFrequency=10

#Proxy每隔N秒将收集的数据发送到服务器,用于zabbix-proxy主动,Range: 1-3600,默认1(单位秒);

ListenIP=172.16.1.92

#zabbix-proxy监听的本地ip地址;

Timeout=30

(6)启动zabbix-proxy并加入到开机自启动:

[root@slave-node2 ~]# systemctl start zabbix-proxy.service

[root@slave-node2 ~]# systemctl enable zabbix-proxy.service

[root@slave-node2 ~]# netstat -tunlp | grep 10051

tcp 0 0 172.16.1.92:10051 0.0.0.0:* LISTEN 4660/zabbix_proxy

(7)修改172.16.1.91服务器上的zabbix-agent配置文件(部分修改):

[root@slave-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf

StartAgents=0

ServerActive=172.16.1.92

HostnameItem=system.hostname

Timeout=30

[root@slave-node1 ~]# systemctl restart zabbix-agent.service

(8)在zabbix-web界面中添加zabbix-proxy:

1)

2)

3)

(9)添加监控主机:

这里使用手动的方式添加监控主机,也可以使用自动注册的方式;

1)

2)

3)


4)查看最新数据:

5、zabbix 绘制map图:

(1)上传背景地图:

(2)创建拓扑图:

1)

2)

(3)编辑拓扑图:

1)拓扑图的最终效果如下:

2)拓扑图中用到的标签变量:

#网络流量标签:

{slave-node1:net.if.out[eth0].last(0)}

{Zabbix proxy:net.if.out[eth0].last(0)}

#服务器名称标签:

{HOST.NAME}

{HOST.CONN}

6、zabbix-server,zabbix-proxy、zabbix-agent、mysql配置参数优化:

zabbix server<————zabbix-proxy(主动)<————zabbix-agent(主动)

(1)zabbix-server:

[root@controller-node1 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf

ListenPort=10051

#zabbix-server监听的端口号;

LogFile=/var/log/zabbix/zabbix_server.log

#zabbix-server日志文件位置;

LogFileSize=0

#日志多大时进行切割,Range: 0-1024,默认0表示不切割(单位M);

PidFile=/var/run/zabbix/zabbix_server.pid

#zabbix-server后台运行的pid文件;

SocketDir=/var/run/zabbix

#zabbix-server socket文件位置;

DBHost=172.16.1.90

#zabbix-server连接数据库的ip地址;

DBName=zabbix

#zabbix-server连接数据库的数据库名称;

DBUser=zabbix

#zabbix-server连接数据库的用户名;

DBPassword=123456

#zabbix-server连接数据库的密码;

DBPort=3306

#zabbix-server连接数据库的端口号;

StartPollers=20

#轮询器实例数量,数量越多则服务器的吞吐量越大,Range: 0-1000,默认为5;

StartPollersUnreachable=10

#不可达主机 (包括IPMI 和 Java)的轮询器实例数量,Range: 0-1000,默认1;

StartTrappers=10

#用于接收zabbix sender提交来的数据的进程,Range: 0-1000,默认为5;

StartPingers=10

#icmp ping进程的数量,若单台代理所管理机器超过500台,建议加大此数值,Range: 0-1000,默认1;

StartDiscoverers=10

################################################################################

#自动发现主机的线程数量,若单台代理所管理机器超过500台,可以考虑加大此数值

#(仅适用于AGENT场景),Range: 0-250,默认为1;

################################################################################

StartHTTPPollers=10

#WEB监控进程数,Range: 0-1000,默认1;

StartTimers=10

#各实例计时器数量,Range: 1-1000,默认1;

StartEscalators=10

#Range: 0-100,默认1;

StartAlerters=6

#报警实例数,Range: 0-100,默认3;

#JavaGateway=172.16.1.91

#JavaGateway的ip地址或主机名;

#JavaGatewayPort=10052

#JavaGateway的端口号;

#StartJavaPollers=5

#开启连接javagateway的进程数,Range: 0-1000;

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

StartSNMPTrapper=1

#启用snmptrapper功能 ,默认不启用=0,启用=1;

ListenIP=172.16.1.90

#zabbix-server监听的IP地址;

HousekeepingFrequency=1

################################################################################

#housekeeper N小时清理一次数据库里过期的历史数据,Range: 0-24,默认1(单位:小时),0表示关闭该功能,

#会使用item中的选项;

################################################################################

MaxHousekeeperDelete=5000

#housekeeper清理数据库里过期的历史数据时每次最多删除N行,Range: 0-1000000,默认5000(单位:行),0表示不受限制;

CacheSize=2048M

#存储主机、监控项、触发器数据共享内存的大小,Range: 128K-8G,默认8M;

CacheUpdateFrequency=100

#更新系统CACHE的频率,若管理页面操作不频繁,可以考虑加大参数值,Range: 1-3600,默认是60(单位秒);

StartDBSyncers=20

################################################################################

#将采集数据从CACHE同步到数据库线程数量,数值越大,写能力越强,对数据库服务器I/O压力

#越大,Range: 1-100,默认4;

################################################################################

HistoryCacheSize=1024M

#历史缓存数据大小,此数值越大,数据库读压力越小,Range: 128K-2G,默认16M;

HistoryIndexCacheSize=512M

#历史索引缓存大小,一个item要100字节,10M是二十万个监控项,Range: 128K-2G,默认4M;

TrendCacheSize=256M

#趋势缓存的大小,此参数值从一定程度上可影响数据库读压力,Range: 128K-2G,默认是4M;

ValueCacheSize=256M

################################################################################

#为已请求的存储监控项信息设置的内存,若监控项较多,建议加大此数值,当缓存超标了,将会每隔

#5分钟向服务器日志写入一条警告信息,Range: 0,128K-64G,默认8M;

################################################################################

Timeout=15

################################################################################

#与AGNET、SNMP设备和其它外部设备通信超时设置,单位为秒;若采集数据不完整或网络

#繁忙,或从管理页面发现客户端状态变化频繁,可以考虑加大此数值,Range: 1-30,默认为3;

################################################################################

TrapperTimeout=30

#指定trapper处理新数据所花费的秒数,Range: 1-300,默认300(单位秒);

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

#用于服务端数据库慢查询功能,单位是毫秒,Range: 1-3600000,默认为3000表示不开启;

StartProxyPollers=10

#启用多少子进程与代理端通信,用于zabbix-proxy被动模式,Range: 0-250,默认为1;

ProxyConfigFrequency=60

#Zabbix服务端将配置文件数据同步到代理端的频率,用于zabbix-proxy被动模式,Range: 1-3600*24*7,默认3600(单位秒);

ProxyDataFrequency=10

#Zabbix服务端请求代理端采集的数据的频率,用于zabbix-proxy被动模式,Range: 1-3600,默认1(单位s);

(2)zabbix-proxy:

[root@slave-node2 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_proxy.conf

ProxyMode=0

#开启zabbix-proxy主动模式,0主动(默认),1被动;

Server=172.16.1.90

#zabbix-server的ip地址;

ServerPort=10051

#zabbix-server的端口号;

HostnameItem=system.hostname

#使用系统主机名,zabbix-proxy主动模式下使用;

ListenPort=10051

#zabbix-proxy监听的端口号;

LogFile=/var/log/zabbix/zabbix_proxy.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_proxy.pid

SocketDir=/var/run/zabbix

DBHost=172.16.1.92

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=123456

DBPort=3306

ProxyLocalBuffer=0

#Proxy与zabbix-server正常连接下,Proxy在本地保存数据N小时,Range: 0-720,默认0(单位:小时),表示不保存;

ProxyOfflineBuffer=1

#Proxy没有与zabbix-server连接,Proxy在本地保存数据N小时,Range: 1-720,默认1(单位:小时);

ConfigFrequency=60

#Proxy在N秒钟内从Zabbix Server检索配置数据的频率,用于zabbix-proxy主动,Range: 1-3600*24*7,默认3600(单位秒);

DataSenderFrequency=10

#Proxy每隔N秒将收集的数据发送到服务器,用于zabbix-proxy主动,Range: 1-3600,默认1(单位秒);

StartPollers=20

StartPollersUnreachable=10

StartTrappers=10

StartPingers=10

StartDiscoverers=20

StartHTTPPollers=10

#JavaGateway=172.16.1.91

#JavaGateway的ip地址或主机名;

#JavaGatewayPort=10052

#JavaGateway的端口号;

#StartJavaPollers=5

SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

StartSNMPTrapper=1

ListenIP=172.16.1.92

HousekeepingFrequency=1

CacheSize=1024M

StartDBSyncers=10

HistoryCacheSize=1024M

HistoryIndexCacheSize=256M

Timeout=15

TrapperTimeout=30

ExternalScripts=/usr/lib/zabbix/externalscripts

LogSlowQueries=3000

(3)zabbix-agent:

[root@slave-node1 ~]# egrep -v "^#|^$" /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid

LogFile=/var/log/zabbix/zabbix_agentd.log

LogFileSize=0

Server=172.16.1.90,172.16.1.91,172.16.1.92

#zabbix-agent被动模式下被允许访问的远端ip地址;

ListenPort=10050

#zabbix-agent监听的端口号;

ListenIP=172.16.1.91

#zabbix-agent监听的IP地址;

StartAgents=0

#关闭zabbix-agent被动模式;

ServerActive=172.16.1.92

#开启zabbix-agent主动模式;

HostnameItem=system.hostname

#使用系统主机名,主动模式;

HostMetadata=web

#系统主机名元素,用于zabbix-agent的主动模式;

RefreshActiveChecks=60

#刷新活动检查列表的频率,用于zabbix-agent主动,Range: 60-3600,默认120(秒为单位);

BufferSend=10

#数据缓冲的时间,用于zabbix-agent主动,Range: 1-3600,默认5(单位秒);

BufferSize=300

###############################################################

#zabbix-agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbix server,

#用于zabbix-agent主动,Range: 2-65535,默认100

###############################################################

MaxLinesPerSecond=100

#zabbix agent发送给zabbix server最大的数据行,Range: 1-1000,默认20;

Timeout=15

#item在执行超时时间,Range: 1-30,默认3(单位秒);

Include=/etc/zabbix/zabbix_agentd.d/*.conf

#zabbix包含item自定义配置文件位置;

(4)数据库(4G_2核):

[root@controller-node1 ~]# cat /etc/my.cnf

####################################

#4G_2核

####################################

[client]

port=3306

default-character-set=utf8

#客户端编码

socket=/var/lib/mysql/mysql.sock

[mysql]

no-auto-rehash

#不开启mysql命令自动补全

[mysqld]

user=mysql

port=3306

socket=/var/lib/mysql/mysql.sock

basedir=/usr

datadir=/var/lib/mysql

open_files_limit = 10240

#mysql打开的文件描述符长度;

symbolic-links=0

#关闭数据分区存储

default-storage-engine = innodb

innodb_file_per_table = on

max_connections = 1000

max_connect_errors = 6000

#客户端密码错误允许最大次数;

back_log = 600

#接受的tcp队列;

table_open_cache = 614

#所有线程最大打开表的数量;

skip-external-locking

#不允许外部文件级别的锁;

max_allowed_packet = 32M

#设置在网络传输中一次消息传输量的最大值,最大为1GB,默认1MB;

character-set-server = utf8

#数据库编码

skip-name-resolve

#禁止MySQL对外部连接进行DNS解析,解决mysql连接慢的问题;

innodb_buffer_pool_size = 1024M

#包括数据页、索引页、插入缓存、锁信息、数据字典信息,物理内存的30%-50%;

query_cache_size=16M

#查询缓存大小;

join_buffer_size = 2M

#联合查询所使用的缓冲区大小;

query_cache_limit = 4M

#指定单个查询能够使用的缓冲区大小,默认是1M;

query_cache_min_res_unit = 2K

#默认4k,值大对大数据查询好,如果查询都是小数据,容易造成内存碎片和浪费;

thread_stack = 192K

#线程的堆大小,128K到4GB;

tmp_table_size = 64M

#单个临时表的大小,超过此值放入磁盘;

max_heap_table_size = 64M

#独立的单个表内存表的大小

read_buffer_size = 1M

#读查询操作所能使用的缓冲区大小。

read_rnd_buffer_size = 4M

#MySql的随机读(查询操作)缓冲区大小。

bulk_insert_buffer_size = 16M

#批量插入数据缓存大小,可以有效提高插入效率,默认为8M;

key_buffer_size = 384M

#指定用于索引的缓冲区大小,4GB的服务器该参数可设置为256MB或384MB。

server-id = 1

thread_concurrency = 4

#此允许应用程序示在同一时间给予渴望被运行的线程的数量:cpu数*2;

thread_cache_size = 64

#保留多少线程缓存,1GB:8,2GB:16,3GB:32,4GB或更高:可配置更大。

sort_buffer_size = 2M

#最小排序缓冲字节,例如:500个连接将会消耗500*sort_buffer_size(8M)=4G内存;

slow_query_log = ON

long_query_time = 2

slow_query_log_file = /tmp/mysql-slow.log

#开启慢查询;

innodb_thread_concurrency = 2

#innodb线程,服务器有几个CPU就设置为几,建议用默认设置,一般为8,为0时不限制;

innodb_flush_log_at_trx_commit = 2

#在提高性能的同时,保证事务不丢失

innodb_log_buffer_size = 16M

#缓冲区更大能提高性能,但意外的故障将会丢失数据,MySQL开发人员建议设置为1-8M之间;

innodb_log_file_size = 128M

#更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间;

lower_case_table_names = 1

#表名存储在磁盘是小写的,比较的时候是不区分大小写的。

innodb_additional_mem_pool_size = 16M

#这个参数用来设置 InnoDB 存储的数据目录信息和其它内部数据结构的内存池大小。

innodb_data_file_path = ibdata1:1024M:autoextend

#innodb共享表空间文件,重要数据,不指定默认会生成;

innodb_file_io_threads = 4

#同步 IO 的 IO 线程数,在Unix下被硬编码为 4,在Win上一个大数值下表现的更好。

innodb_log_files_in_group = 3

#为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3;

innodb_max_dirty_pages_pct = 90

#innodb刷新时间(s),越小io负担越重,越大内存、cpu负担越重,建议在75-90;

innodb_lock_wait_timeout = 120

#InnoDB 事务在被回滚之前可以等待一个锁定的超时秒数,即等待另一个表锁被释放的时间。

innodb_write_io_threads = 2

innodb_read_io_threads = 2

#innodb后台线程处理数据页上的读写I/O请求,根据CPU核数更改。默认是4,这两个参数不

#支持动态改变,需要把参数加入到my.cnf里后重启mysql服务,允许值的范围从 1-64。

sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

#mysql支持的基本语法及校验规则

transaction_isolation = READ-COMMITTE

#事务级别为读已提交

[mysqldump]

quick

#支持较大数据库的转储;

max_allowed_packet = 32M

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

7、通过zabbix-server的监控判断zabbix-server是否需要优化:

(1) zabbix-server每秒的新值:

1)该值越大代表处zabbix-server处理的item越多;

2)每秒写入的新值数量 (简称NVPS),是衡量zabbix主机性能的一个很重要的指标,影响NVPS指标的主要是以下几个因素:

监控项类型, 数据类型, SNMPv3, triggers的数量和复杂度;

Housekeeper 设置和数据库大小;

同时在线WEB界面的用户数量;

3)每个主机60个监控项,更新频率一分钟一次,100个主机产生的NVPS大致为100,1(监控主机):60(item):1(分钟):1(nvps);

(2)通过队列判断:

(3)zabbix-server缓存的命中率 :

(4)zabbix-server cache的使用率:

建议停留在30%;

根据上面的监控项优化zabbix-proxy.conf配置文件中的参数;

(5)zabbix-server数据的获取进程的使用率:

#建议停留在30%;

根据上面的监控项优化zabbix-proxy.conf配置文件中的参数;

(6)zabbix-server的内部进程的使用率:

建议停留在30%;

根据上面的监控项优化zabbix-proxy.conf配置文件中的参数;

(7)zabbix性能:

8、zabbix-server优化小结:

(1)如何判断zabbix性能下降:

1)Zabbix 队列里面太多的延迟的监控项 Administration->Queue

2)数据图形里经常出现的间隙断层, 甚至有些监控项没有数据。

3)触发器包含nodata()表达式的误报

4)无响应和响应迟钝的WEB请求;

5)没有告警或者是数以千计的告警;

6)最明显的就是列队中,有很多主机延迟大于30秒甚至超过1分钟;

(2)数据库使用分区表:

通过这种方式可以将一张大的表分成很多区,只对那些数据量大的有历史意义的表操作,

history_log,history_str,history_text,history_uint,trends,trends_uint,好处是更

快删除过期数据,DB将拥有更好的性能,当zabbix-server频繁出现"Zabbix housekeeper processes more than 75% busy"

的告警时,此时housekeeper的性能正在下降则需要使用分区表;

(3)web服务器使用nginx:

nginx服务器的响应速度要明显优于apache服务器;

(4)使用Zabbix Proxy:

当监控主机过多,可以使用多个zabbix Proxy进行分布式监控,Zabbix Proxy "转换" 被动检查成主动;

(5)数据库分离或采用硬件:

可以采用数据库与 zabbix-server分离,zabbix-server和前端一台服务器,数据库一台服务器,且数据库服务

的性能要高于前者,使用硬件服务器部署要优于使用虚拟机部署;

(6)减少监控项中"历史数据保留时长(默认90d,改为30d)"和"趋势存储时间(默认365,改为180)"的值,或者在

"管理:一般:管家"中配置历史数据的删除时间(将365d改为180,90d改为30d);

(7)优化OS模板中不合理的触发器项,比如内存、磁盘等;

(8)缩短不支持item项刷新时间(默认是10m);

9、补充:

(1)通过zabbix监控日志:

1)监控salve-nod1服务器上zabbix-agent的日志:

2)查看最新数据:

3)创建触发器过滤关键字,然后发报警邮件;

这里略过具体的步骤,下面是触发器的表达式:

{slave-node1:log[/var/log/zabbix/zabbix_agentd.log].iregexp()}=1

(2)主机资产:

1)在监控主机配置中打开即可:

2)查看:

(3)zabbix主机群组、用户群组、用户之间权限的关系:

1)用户权限分类:

A、用户:允许访问的菜单项为检测、资产记录、报表;

B、管理员:允许访问的菜单项为检测、资产记录、报表、配置;

C、超级管理员:拥有所有的权限;

D、用户和管理员权限下的用户所加入的用户群组如果没有添加主机群组,那么当用户登录后是无法看到监控主机的及监控数据的;

E、用户的禁用是通过用户群组的禁用来实现的;

2)主机群组关联到用户群组,用户的权限继承用户群组的权限,实现的效果有:

A、用户只能管理自己加入的用户群组下的指定的主机群组;

B、发送邮件时根据报警需求将邮件发送到不同的用户群组,即实现了不同主机群组和用户的分组报警;

3)zabbix-server初始安装后超管的用户名和密码是:Admin zabbix,访客的用户名和密码是:guest 密码为空;

(4)维护周期:

说明:在维护周期内维护服务,会在dashboard中显示但是不会触发action去报警发送邮件;

(5)优化OS模板中不合理的触发器项:

(6)通用配置优化:

1)缩短不支持item项刷新时间(默认是10m):

2)设置删除库中历史数据的时间:

说明:将365d改为180,90d改为30d;

(7)zabbix-web菜单选项补充:

1)报表:

可用性报表:监控主机触发器的历史图形报告;

触发器top100:监控主机的触发器被触发次数最多的前100个触发器;

审计:用户对系统的一些操作;

动作日志:记录了zabbix-server发送的历史邮件;

警报:记录了触发器的报警记录;

2)管理:

认证:内部认证(默认),http设置(网站监控认证),ldap设置(统一账号登录认证);

脚本:在远程主机上执行shell命令;