前言:
注意:本文不涉及性能测试、性能优化中的监控,所有文字的出发点都是日常运维监控。
在开始之前,我们还是先统一下认识:要监控一个对象,需要掌握哪些东西呢?
监控对象的理解:要监控的对象你是否了解呢?比如CPU到底是如何工作的?
监控对象的指标:我们要监控这个东西的什么属性?比如CPU的CPU使用率、负载、上下文切换。
确定报警基准线:怎么样才算是故障,要报警呢?比如CPU的负载到底多少算高?
如果上述的条件不满足,那就先不要开始实施监控了,因为等做完了,你会发现,然并卵?
1.1 zabbix 安装准备
主机名 | IP地址 | 描述 | 系统 |
l-zabbix | 172.17.201.252 | ||
l-test | 172.17.201.249 |
1.2 server 安装
Zabbix3整个web界面做了一个全新的设计。
rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
Zabbix存储配置包以及yum配置文件。
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Zabbix程序包安装,以及MySQL、Zabbix-agent
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
创建Zabbix数据库以及用户。
#启动maridb
systemctl start mariadb.service
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
导入初始化模式和数据
cd /usr/share/doc/zabbix-server-mysql-3.0.3/
zcat create.sql.gz |mysql -uroot zabbix
编辑Zabbix_server.conf数据库配置
grep ^[a-Z] /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
启动Zabbix服务进程
systemctl start zabbix-server
Apache的配置文件/etc/httpd/conf.d/zabbix.conf默认PHP已经配置好了。取消注释,设置正确的时区
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
通过改变配置文件重新启动Apache Web服务器
[root@linux-node1 ~]# systemctl start httpd
1.3 agent 安装
Zabbix可以用Agent/Server的架构,客户端的采集方式分为Agent、SNMP等,通常情况都是使用Agent方式对服务器进行监控,后续再学习使用其他监控方式(SNMP、JMX、IPMI)
1.3.1zabbix-Agent安装
centos7
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.6-1.el7.x86_64.rpm
centos6
rpm -ivh rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/6/x86_64/zabbix-agent-3.4.6-1.el6.x86_64.rpm
yum install zabbix-agent -y
1.3.2zabbix-Agent配置
配置Agent和Server间通过Zabbix私有协议通信,需要了解主动模式和被动模式:
Server被动模式:Server端主动向Agent采集数据。(1000台机器以内机器推荐使用)
ServerActive主动模式:Agent主动像Server端发送数据。(1000台以上机器推荐使用)
#修改被动模式监听地址为zabbix-server的IP地址
sed -i 's#Server=127.0.0.1#Server=192.168.90.11#g' /etc/zabbix/zabbix_agentd.conf
#查看修改后信息
egrep -v '^#|^$' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.90.11 #被动模式 zabbix-server的IP(Agent可以有多个Ip 用于向多个Master发送数据)
ServerActive=127.0.0.1 #主动模式(Agent自动像Server发送数据)
Hostname=linux-node2.com
Include=/etc/zabbix/zabbix_agentd.d/