zabbix监控

Zabbix部署

使用apt在ubuntu安装zabbix 4.0x版本

Zabbix 产品手册

zabbix-server:172.20.21.109

mysql:172.20.21.106

部署zabbix-server

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb
# apt update


###安装Zabbix server,Web前端,agent
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-agent


###修改配置文件
# vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
DBHost=172.20.21.106    #数据库服务器

DBName=zabbix

DBUser=zabbix

DBPassword=123456

# systemctl restart zabbix-server

####解决时区问题
# vim /etc/zabbix/apache.conf
    <IfModule mod_php7.c>
......
        php_value date.timezone Asia/Shanghai


# systemctl restart zabbix-server zabbix-agent apache2



###导入初始架构和数据,系统将提示您输入新创建的密码,在MySQL部署完成之后执行
# find / -name "create.sql.gz"
/usr/share/doc/zabbix-server-mysql/create.sql.gz

# zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -h172.20.21.106 -p123456 zabbix

部署MySQL

# apt update
# apt install -y mysql-server mysql-client
# vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address            = 0.0.0.0
# systemctl restart mysql

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@'172.20.%.%' identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@'172.20.%.%';
mysql> quit;

访问web界面

http://$IP/zabbix/setup.php,默认用户名:Admin,密码:zabbix

查看生成对应的配置文件

# cat /usr/share/zabbix/conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;

$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '172.20.21.106';
$DB['PORT']     = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = '123456';

// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';

$ZBX_SERVER      = '172.20.21.109';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = 'zabbix server';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

zabbix server配置文件详解

配置文件zabbix_server.conf

ListenPort=10051   #监听端口
SourceIP=          #多IP地址情况下,与其他服务器通信使用的源IP地址
LogType=file       #日志类型,支持system、file和console
LogFile=/usr/local/zabbix-server/log/zabbix_agentd.log    #日志路径
LogFileSize=1      #指定日志滚动写入大小,当达到指定大小时,会删除就日志重新从头写入新日志
DebugLevel=3       #自定义日志级别
PidFile=PidFile=/usr/local/zabbix-server/run/zabbix_agentd.pid     #PID文件路径
SocketDir=/usr/local/zabbix-server/run    #socket文件路径
DBHost=172.20.21.106    #数据库地址
DBName=zabbix_server   #数据库名称
DBSchema=              #数据库访问协议
DBUser=zabbix          #数据库用户名称
DBPassword=123456      #数据库用户密码
DBPort=3306            #数据库端口
HistoryStorageURL=     #elasticsearch服务器地址,保存zabbix历史数据到ES里面,优化zabbix性能,新版本zabbix的才支持
HistoryStorageTypes=uint,dbl,str,log,text     #elasticsearch索引类型
HistoryStorageDateIndex=0    #将历史数据保存到不同的elasticsearch索引
ExportDir=                   #定义实时导出触发器事件,监控项采集值,趋势数据的目录
ExportFileSize=1G            #定义每个导出文件的最大大小
StartPollers=5               #预启动多少个实例数量
StartIPMIPollers=0           #IPMI收集数量
StartPreprocessors=3         #预启动多少个进程用于处理zabbix agent数据
StartPollersUnreachable=1    #不可达主机的轮询进程的初始实例启动数量
StartTrappers=5              #预启动的Trappers进程数据
StartPingers=1               #ICMP ping进程的初始实例数量
StartDiscoverers=1           #自动发现主机的进程数量
StartHTTPPollers=1           #http 进程数量
StartTimers=1                #计时器实例数量,计时器用于计算问题的发生时间和步骤同步等
StartEscalators=1         #escalators进程的初始实例数量,用于处理动作中的自动步骤的进程的数量
StartAlerters=3       #报警实例预启动数量
SNMPTrapperFile=/usr/local/zabbix-server/run/zabbix_traps.tmp    #snmp触发器临时文件路径
StartSNMPTrapper=1              #SNMP触发器预启动数量
ListenIP=0.0.0.0                #监听地址
HousekeepingFrequency=1         #多少小时清理一次代理端数据库的 history数据
MaxHousekeeperDelete=1000000    #每次最多删除历史数据的行数
CacheSize=126M                  #配置信息缓存大小
CacheUpdateFrequency=60         #Zabbix更新缓存数据的频率,单位为秒,范围是1-3600
StartDBSyncers=5                #zabbix和数据库同步数据的进程数量
HistoryCacheSize=128M           #历史数据的缓存大小
HistoryIndexCacheSize=64M       #历史数据索引缓存的大小
TrendCacheSize=16M              #用于设置划分多少系统共享内存用于存储计算出来的趋势数据,此参数值从一定程度上可影响数据库读压力,范围是128K-2G
ValueCacheSize=16M              #历史值缓存的大小,用于缓存历史数据请求的共享内存大小
Timeout=30              #数据获取等待超时时间
TrapperTimeout=300      #触发器处理新数据的最长时间,单位是秒
UnreachablePeriod=60    #当主机不可达多少秒后,设置为主机不可用,单位是秒,范围是1-3600
UnavailableDelay=60     #当主机不可用了,多久检查一次该主机的可用性,单位为秒,范围是1-3600
UnreachableDelay=15     #当主机不可到达了,多久检查一次该主机的可用性,单位为秒,范围是1-3600
AlertScriptsPath=${datadir}/zabbix/alertscripts     #监控报警脚本路径,取决于编译时候的datadir参数
ExternalScripts=${datadir}/zabbix/externalscripts   #自定义脚本存储路径
FpingLocation=/usr/bin/fping      #fping命令的位置
LogSlowQueries=3000     #慢日志时间(以毫秒为单位),仅当DebugLevel设置为3,4或5时才可用,0 - 不记录慢查询,范围是1-3600000
TmpDir=/usr/local/zabbix-server/run  #临时文目录
StartProxyPollers=3       #启用多少子进程与代理端通信,若代理较多可考虑加大此数值,范围是0-250
ProxyConfigFrequency=60   #proxy被动模式下,server多少秒同步配置文件至proxy,该参数仅用于被动模式下的代理,范围是1-3600*24*7
ProxyDataFrequency=60     #被动模式下,zabbix server间隔多少秒向proxy请求历史数据
AllowRoot=0               #是否允许root启动zabbix,0表示不允许,1表示允许
User=zabbix               #设置zabbix 启动用户

监控linux系统

在其他linux服务器安装zabbix agent,然后添加到zabbix server以对其进行资源监控

###安装zabbix agent
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb
# apt update
# apt install zabbix-agent


###修改zabbix-agent配置文件
# vim /etc/zabbix/zabbix_agentd.conf
##### Passive checks related   #被动检查相关配置
Server=172.20.21.109   #指向当前zabbix server

### Option: ListenPort
ListenPort=10050      #监听端口

### Option: ListenIP
ListenIP=0.0.0.0

### Option: StartAgents
StartAgents=3        #被动状态时默认启动的实例数(进程数),为0不监听任何端口

### Option: Hostname
Hostname=172.20.21.106  #区分大小写且在zabbix server唯一的值


# systemctl restart zabbix-agent


####在zabbix-server主机验证
# apt install -y zabbix-get
# zabbix_get -s 172.20.21.106 -p 10050 -k "agent.ping"
1

添加监控主机

添加监控模板

 

验证监控主机数据

 监控tomcat

zabbix-server:172.20.21.109

zabbix-gateway:172.20.21.109

tomcat:172.20.21.105

####172.20.21.105,准备jdk环境

# apt install -y openjdk-8-jdk
# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1~18.04-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)


###配置tomcat,创建测试界面
# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.77/src/apache-tomcat-8.5.65.tar.gz
# tar xf apache-tomcat-8.5.65.tar.gz
# cd apache-tomcat-8.5.65
# mkdir webapps/test
# echo "tomcat web page" > webapps/test/index.html

###启动tomcat
# /root/apache-tomcat-8.5.65/bin/catalina.sh start


###验证tomcat界面
# curl http://172.20.21.105:8080/test/index.html
tomcat web page

tomcat开启JMX监控

####如tomcat服务器是172.20.21.105,则配置入下
# vim /root/apache-tomcat-8.5.65/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=172.20.21.105"

# /root/apache-tomcat-8.5.65/bin/catalina.sh start

部署java gateway服务器

java gateway是一个独立于zabbix server和zabbix agent的组件,也就是java gateway可以是单独的一台服务器,也可以和zabbix server或者zabbix agent公用一台服务器,前提是端口不要冲突

####172.20.21.109,安装zabbix-java-gateway
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb
# apt update
# apt install zabbix-java-gateway

# grep '^[^$#]' /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java_gateway.pid"
START_POLLERS=5
TIMEOUT=30

# systemctl restart zabbix-java-gateway

# lsof -i:10052
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    9225 zabbix   14u  IPv6  50077      0t0  TCP *:10052 (LISTEN)


###配置zabbix server调用java gateway
# vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.20.21.109   #启用了javagateway进程服务器地址
JavaGatewayPort=10052       #指定java gateway的服务器监听端口
StartJavaPollers=5          #启动多少个线程收集数据


# systemctl restart zabbix-server

 zabbix server添加JVM监控模板

关联模板

验证jmx状态

验证jmx数据

监控MySQL

zabbix-server:172.20.22.27,zabbix-proxy:172.20.22.28

mysql-master:172.20.22.28,mysql-slave:172.20.22.26

percona监控MySQL

部署mysql主从

  • 修改服务器ID
  • 在master开启binlog,slave开启中继日志
  • 创建同步账号
  • 在master导出数据,然后将导出的数据导入到slave
  • 在slave使用change master指向master进行数据同步
  • 启动同步,start slave,查看同步状态:show slave status\G

MySQL master

####MySQL 5.7.x
# vim /etc/mysql/mysql.conf.d/mysqld.cnf
......
bind-address            = 0.0.0.0
server-id=28
log-bin=/var/lib/mysql/bin-log

###MySQL 5.6.x
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
datadir         = /var/lib/mysql
skip-name-resolve
innodb_file_per_table = 1
server-id=28
log-bin=/var/lib/mysql/bin-log

# systemctl restart mysql

###MySQL Master服务器创建同步账号并导出数据,然后将导出的数据导入到slave
# mysql
mysql> grant replication slave,replication client on *.* to 'slave'@'172.20.%.%' identified by '123456';

mysql> flush privileges;

# mysqldump --all-databases --single_transaction --flush-logs --master-data=2 --lock-tables > /opt/backup.sql
# scp  /opt/backup.sql root@172.20.22.26:/opt

MySQL slave

####MySQL 5.7.x
# vim /etc/mysql/mysql.conf.d/mysqld.cnf
......
bind-address            = 0.0.0.0
server-id=26
relay-log=/var/lib/mysql/relay-log

###MySQL 5.6.x
[mysqld]
port            = 3306
socket          = /var/lib/mysql/mysql.sock
datadir         = /var/lib/mysql
skip-name-resolve
innodb_file_per_table = 1
server-id=26
relay-log=/var/lib/mysql/relay-log

# systemctl restart mysql


###在MySQL slave服务器导入数据开始同步数据,position位置在sql文件
# mysql < /opt/backup.sql
# mysql
mysql> change master to master_host='172.20.22.28',master_port=3306,master_user='slave',master_password='123456',master_log_file='bin-log.000002',master_log_pos=154;


mysql> start slave;

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 172.20.22.28
                  Master_User: slave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: bin-log.000005
          Read_Master_Log_Pos: 991395
               Relay_Log_File: relay-log.000002
                Relay_Log_Pos: 735190
        Relay_Master_Log_File: bin-log.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

Procona监控MySQL

https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html  #插件地址

https://www.percona.com/downloads/ #安装包下载

https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html #安装教程

被监控节点安装zabbix-agent

# apt install -y zabbix-agent

# grep '^[^$#]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=172.20.22.27,172.20.22.28
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=172.20.22.28
Hostname=172.20.22.26
AllowRoot=1
User=root
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParameters=1

# systemctl restart zabbix-agent

安装percona

修改zabbix agent启动用户为root,包括zabbix agent配置文件和service文件

####安装percona软件包
# dpkg -i percona-zabbix-templates_1.1.8-1.artful_all.deb
# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

# vim /lib/systemd/system/zabbix-agent.service
....
User=root
Group=root

# systemctl daemon-reload 
# systemctl restart zabbix-agent.service 

####安装php环境:目前percona与ubuntu自带的PHP 7.2不兼容,需要安装php5.6版本
# add-apt-repository ppa:ondrej/php
# apt update
# apt install -y php5.6 php5.6-mysql

####创建mysql认证文件
# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = '';

###测试脚本能否获取数据
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
61

导入percona模板

添加监控主机

关联模板

验证MySQL监控数据

percona模板中的监控项默认是五分钟收集一次监控项数据,脚本位置在/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh

# zabbix_get -s 172.20.22.26 -p10050 -k "MySQL.Key-read-requests"
61

自定义redis监控并实现故障邮件通知

如何在zabbix中自定义监控项

  • 通过命令或者脚本采集到目标主机监控项的数据
  • 在zabbix agent中添加自定义监控项并重启zabbix agent
  • 在zabbix server通过zabbix_get命令测试能否获取监控项的数据
  • 在模板中添加监控项或者在主机添加监控项

自定义redis监控

####在zabbix-aget节点部署
# apt install redis nmap -y
# vim /etc/zabbix/zabbix_agentd.d/redis_monitor.sh
#!/bin/bash
redis_status(){
        R_PORT=$1
        R_COMMAND=$2
        (echo -en "INFO \r\n";) | ncat 127.0.0.1 "$R_PORT" > /tmp/redis_"$R_PORT".tmp
        REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /tmp/redis_"$R_PORT".tmp | cut -d ':' -f2)
        echo $REDIS_STAT_VALUE  
}

help(){
        echo "${0} + redis_status + PORT + COMMAND"
}

main(){
    case $1 in
        redis_status)
            redis_status $2 $3
                ;;
        *)
            help
                ;;
        esac
}
main $1 $2 $3

# chmod +x /etc/zabbix/zabbix_agentd.d/redis_monitor.sh

# bash /etc/zabbix/zabbix_agentd.d/redis_monitor.sh redis_status 6379 connected_clients
1

# bash /etc/zabbix/zabbix_agentd.d/redis_monitor.sh redis_status 6379 used_memory
841272

# vim /etc/zabbix/zabbix_agentd.conf
.......
UserParameter=redis_status[*],/bin/bash /etc/zabbix/zabbix_agentd.d/redis_monitor.sh $1 $2 $3

# systemctl restart zabbix-agent.service


####zabbix-server检测测试
# zabbix_get -s 172.20.22.26 -p10050 -k "redis_status["redis_status","6379","used_memory"]"
841272
# zabbix_get -s 172.20.22.26 -p10050 -k "redis_status["redis_status","6379","connected_clients"]"
1

添加模板

 添加监控项

 

添加图形 

关联模板

 验证图形

邮件通知

zabbix web创建报警媒介类型

管理-->报警媒介类型-->创建报警媒介类型,此账号为发送报警邮件账号

 给用户添加报警媒介,此账号为接收邮件通知账号

 创建动作

配置动作信息

验证邮件通知

验证事件状态,在zabbix web界面,验证当事件触发后邮件通知有没有发送成功

验证邮箱是否收到邮件

zabbix proxy实现分布式监控

zabbix 作为一个分布式监控系统,支持通过代理(proxy)收集zabbix agent的监控数据然后由zabbix proxy再把数据发送给zabbix server,也就是zabbix proxy可以代替zabbix server收集监控数据,然后把数据汇报给zabbix server,所以zabbix proxy可以在一定程度上分担了zabbix server的数据收集压力,从而降低了数据的采集时间、也相应的增加了zabbix server的监控能力。

zabbix proxy也区分主动模式和被动模式,通信方式与zabbix server主动模式和被动模式一样,区别是zabbix proxy由于没有zabbix agent的配置,所以zabbix proxy在主动模式下要向zabbix server周期性的获取zabbix agent的监控项信息,但是zabbix proxy在变被动模式下也是等待zabbix server的连接并接受zabbix server发送的监控项指令,然后再由zabbbix proxy向zabbix agent发起请求获取数据。

zabbix proxy安装

zabbix server:172.20.22.27

zabbix proxy 主动模式:172.20.20.22.28

zabbix proxy 被动模式:172.20.22.30

# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
# dpkg -i zabbix-release_4.0-3+bionic_all.deb
# apt update

##安装zabbix proxy
# yum install gcc libxml2-devel net-snmp-devel curl-devel php php-bcmatch php-mbstring mariadb marbidb-devel java-1.8.0-openjdk-devel -y

# apt install libmysqld-dev libmysqlclient-dev libxml2-dev libxml2 snmp libsnmp-dev libevemt-dev curl libcurl4-openssl-dev

# apt install zabbix-proxy-mysql zabbix-agent


###创建数据库
mysql> create database zabbix_proxy_active character set utf8 collate utf8_bin;
mysql> create database zabbix_proxy_passive character set utf8 collate utf8_bin;
mysql> create user proxy@'172.20.%.%' identified by '123456';
mysql> grant all privileges on zabbix_proxy_active.* to proxy@'172.20.%.%';
mysql> grant all privileges on zabbix_proxy_passive.* to proxy@'172.20.%.%';

###导入数据库
#21.105
# zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uproxy -h172.20.21.106 -p123456 zabbix_proxy_active

#21.106
# zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uproxy -h172.20.21.106 -p123456 zabbix_proxy_passive

zabbix proxy被动模式配置

# grep '^[^$#]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=1   #0为主动,1为被动
Server=172.20.22.27   #zabbix server服务器地址
ServerPort=10051
Hostname=Zabbix-proxy-passive  #代理服务器名称,需要与zabbix server添加代理时的proxy name时一致的
ListenPort=10051    #zabbix proxy监听端口
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
EnableRemoteCommands=1  #允许zabbix server执行远程命令
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=172.20.20.22.28   #数据库服务器地址
DBName=zabbix_proxy_passive   #使用的数据库名称
DBUser=proxy            #连接数据库的用户名
DBPassword=123456       #连接数据库的密码
DBPort=3306
ProxyLocalBuffer=720    #已经提交到zabbix server的数据保留时间
ProxyOfflineBuffer=720  #未提交到zabbix server的数据保留时间
HeartbeatFrequency=60   #心跳间隔检测时间,默认为60秒,被动模式不使用
ConfigFrequency=30      #间隔多少秒从zabbix server获取监控项信息
DataSenderFrequency=30  #数据发送时间间隔,默认为1秒,被动模式不使用
StartPollers=6          #启动的数据采集器数量
StartPollersUnreachable=3
StartTrappers=5
StartPingers=3
JavaGateway=172.20.21.105  #java gateway服务器地址,监控java的时候必须配置
JavaGatewayPort=10052      #java gateway服务端口
StartJavaPollers=20        #启动多少个线程采集数据
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=0.0.0.0
CacheSize=128M      #保存监控项而占用的最大内存
HistoryCacheSize=128M  #保存监控历史数据占用的最大内存
Timeout=30    #监控项超时时间,单位为秒
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000

# systemctl restart zabbix-proxy

 添加zabbix被动代理

被动代理主机配置 

# grep '^[^$#]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.20.22.27,172.20.22.30
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=127.0.0.1
Hostname=172.20.22.30
Timeout=30
Include=/etc/zabbix/zabbix_agentd.d/*.conf

# systemctl restart zabbix-agent

修改zabbix server配置

修改zabbix server向agent获取监控数据的频率等参数

# vim /etc/zabbix/zabbix_server.conf
....
StartProxyPollers=10     #启用多少子进程与代理端通信,若代理较多可考虑加大此数值,范围是0-250

ProxyConfigFrequency=60  #proxy被动模式下,server多少秒同步配置文件至proxy,该参数仅用于被动模式下的代理

ProxyDataFrequency=60    #被动模式下,zabbix servre间隔多少时间向proxy请求历史数据
...

# systemctl restart zabbix-server

添加被动模式代理主机

zabbix proxy主动模式配置

# grep '^[^$#]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0      #0为主动,1为被动
Server=172.20.22.27  #zabbix server服务器的地址
ServerPort=10051
Hostname=Zabbix-proxy-active #代理服务器名称,需要与zabbix server添加代理时的proxy name时一致的
ListenPort=10051             #zabbix proxy监听端口
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
EnableRemoteCommands=1       #允许zabbix server执行远程命令
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=172.20.20.22.28      #数据库服务器地址
DBName=zabbix_proxy_active  #数据库名称
DBUser=proxy                #连接数据库的用户名
DBPassword=123456           #连接数据库的密码
DBPort=3306                 #数据库端口
ProxyLocalBuffer=720        #已提交到zabbix server的数据保留时间
ProxyOfflineBuffer=720      #未提交到zabbux server的数据保留时间
HeartbeatFrequency=60       #心跳间隔检测时间,默认60秒,被动模式不使用
ConfigFrequency=10          #间隔多少秒从zabbix server获取监控项信息
DataSenderFrequency=5       #数据发送时间间隔,默认为1秒,被动模式不使用
StartPollers=6              #启动的数据采集器数量
StartIPMIPollers=3
StartTrappers=5
StartPingers=3
JavaGateway=172.20.21.105   #java gateway服务器地址,当监控java的时候必须配置
JavaGatewayPort=10052       #java gateway服务端口
StartJavaPollers=5          #启动多少个线程采集数据
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
ListenIP=0.0.0.0
CacheSize=128M              #保存监控项而占用的最大内存
HistoryCacheSize=128M       #保存监控历史数据占用的最大内存
HistoryIndexCacheSize=128M  #历史索引缓冲的大小
Timeout=30                  #监控项超时时间,单位为秒
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000

# systemctl restart zabbix-proxy

添加zabbix主动代理

主动代理主机配置

# grep '^[^$#]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.20.22.27,172.20.22.28  #zabbix server与zabbix-proxy active的地址
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=172.20.22.28  #指向主动代理的proxy
Hostname=172.20.22.26
Include=/etc/zabbix/zabbix_agentd.d/*.conf

# systemctl restart zabbix-agent

###在zabbix servre执行
# apt install -y zabbix-get
# zabbix_get -s 172.20.22.26 -p10050 -k "system.cpu.load[all,avg1]"
0.000000
# zabbix_get -s 172.20.22.26 -p 10050 -k "agent.ping"
1

# zabbix_get -s 172.20.22.28 -p10050 -k "system.cpu.load[all,avg1]"
0.620000
# zabbix_get -s 172.20.22.28 -p 10050 -k "agent.ping"
1

添加zabbix agent主动代理主机

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Zabbix 是一个企业级分布式开源监控解决方案。 Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。 Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。 Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。主要讲解8个主题:1.     通过SNMP防火墙设备的监控2.     通过SNMP交换机设备的监控3.     对Windows的性能、服务、用户登陆监控4.     对Linux的性能、用户登陆情况进行监控5.     生产中常用的服务进行监控,如nginx,httpd,mysql,ceph,bind等6.     Zabbix分布式的部署和监控7.     常见的zabbix三种报警方式8.     使用grafana对zabbix中的数据进行展示

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值