前言:zabbix是一款很好用的监控工具,相比nagios(也是监控工具的一种)而言,zabbix提供了强大的视图界面,操作简单,功能强大,只需在页面配置即可,让你用的开心,回家放心。
zabbix监控的原理:
zabbix agent需要安装到被监控的主机上,它负责定期收集本服务器的各项数据,列如:cpu的使用率、磁盘的使用率、内存的使用率、web应用服务日志以及web程序是否在正常运行等,
并将这些收集到的数据发送到zabbix server端,zabbix server 将收集到的数据存储在数据库中,zabbix web 再将数据库中的数据信息以图片或绘画的形式展现在页面上。
zabbix监控一般分为两种模式:主动模式和被动模式
主动模式:zabbix-agent客户端主动将本服务器的数据收集起来发送到zabbix-server服务器
被动模式:zabbix-server服务器去请求zabbix-agent客户端,zabbix-agent客户端在根据zabbix-server服务器请求的信息来收集相应要求的数据,在
把数据传回zabbix-server服务器。
由此来看,主动模式更被大家喜欢,谁喜欢被动是吧(爱情方面也是,哈哈哈哈)
言归正传,实际生产中,大部分的监控都是使用主动模式,这样可以减小zabbix-server服务端的压力,也少部分需要使用被动模式监控,例如mysql数据库的主从模式
就是用被动模式来监控的,主被结合动起来才爽嘛,你懂得(开车了,大家跟上)
---------------------------------------------------------------------------------------------------------------
环境
192.168.1.162 zabbix-server 服务端
192.168.1.174 zabbix-agent 客户端
----------------------------------------------------------------------------------------------------------
zabbix-server 服务端上做
一:侧方位停车
1、安装zabbix-server以及相关软件包
zabbix-release-3.5-1.el7.noarch.rpm
zabbix-get-3.5-1.el7.x86_64.rpm
zabbix-server-3.5-1.el7.x86_64.rpm
zabbix-server-mysql-3.5-1.el7.x86_64 .rpm
zabbix-web-3.5-1.el7.noarch.rpm
zabbix-web-mysql-3.5-1.el7.noarch.rpm
php-bcmath-5.4.16-46.1.el7.x86_64.rpm
php-mbstring-5.4.16-46.el7.x86_64.rpm
官方zabbix依赖包地址及相关php软件包地址
http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/
https://pkgs.org/download/php-bcmath
https://pkgs.org/download/php-mbstring
根据你自己的服务器系统选择相应的软件包,我的是centos7的系统
将这些包下载之后放到zabbix-server服务器的/root下面
yum install -y /root/*.rpm httpd 说明:rpm包 httpd mysql php 都是安装在zabbix-server服务端的
如果你yum install报错有问题,请你看清楚,我上面一共有8个rpm包,是不是你少下载了一个,而且
zabbix-release-3.5-1.el7.noarch.rpm 这个软件包尤其重要,其他包都是依赖这个包才能下载
---------------------------------------------------------------------------------------------------------------------------
二、定点停车
2、 非编译安装mysql数据库。
这里的mysql用非编译安装的就好,不需要编译安装
官网下载mysql的非编译安装包
https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
不作为正式的数据库用,所以版本没有要求,5.6或者5.7都可以
yum install -y ncurses-devel libaio-devel 安装依赖包
ls /root
mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
cd /root
tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.6.41 /usr/local/mysql
创建mysql用户, 组及目录
groupadd mysql
useradd -r -g mysql mysql
创建数据目录
mkdir -p /data/mysql/data
初始化数据库
cd /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
配置mysql服务开机自动启动
chkconfig mysqld on
启动mysql服务
service mysqld start
配置mysql登录命令的环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin 在文件的最后一行添加
使环境变量立即生效
source /etc/profile
假如你一台服务器有多个环境变量需要配置,如下举例配置即可
export PATH=$A/bin:$B/bin:$C/bin:$PATH
配置zabbix链接数据库的信息(你在页面上配置的监控等,都是以数据的形式存在数据库里面的)
vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.1.162 (数据库IP地址)
DBName=zabbix (数据库名)
DBUser=zbxuser (登录数据库的用户名)
DBPassword=redhat (登录数据库的密码)
DBSocket=/var/lib/mysql/mysql.sock (数据库的sock文件的路径)
访问mysql数据库,创建zabbix的数据库信息
mysql 直接回车即可 (5.6版本免编译安装的mysql本地登录不需要用户和密码,5.7不太清楚)
mysql> CREATE DATABASE zabbix; (创建zabbix库)
mysql> GRANT ALL ON zabbix.* TO zbxuser@'192.168.1.%' IDENTIFIED BY 'redhat'; (给zabbix库创建登录用户和密码并授权)
mysql> FLUSH PRIVILEGES; (刷新一下,使权限立即生效)
-------------------------------------------------------------------------------------------------------------------
三、直角拐弯
3、导入zabbix基本配置数据到zabbix数据库并启动zabbix-server的服务。
cp /usr/share/doc/zabbix-server-mysql-3.5/create.sql.gz /tmp/
cd /tmp
gzip -d create.sql.gz 解压数据文件
ls
create.sql
mysql
mysql> USE zabbix; 进入到zabbix库
mysql> source /tmp/create.sql; 将sql文件导入数据库
vim /etc/php.ini
:/time_zone 找到这一行
Asia/Shanghai
systemctl start zabbix-server.service 或者 service zabbix-server start 看你用的什么系统
systemctl start httpd.service 或者 service httpd start 看你用的什么系统
至此我们的zabbix-server服务端安装完成了
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
四、s弯道
4、zabbix-agent客户端安装
zabbix-sender-3.5-1.el6.x86_64.rpm
zabbix-agent-3.5-1.el6.x86_64.rpm
http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/
将这两个包下载放到zabbix-agent服务器的/root/
yum install -y /root/*.rpm
vim /etc/zabbix/zabbix_agentd.conf 修改配置文件
Server = 192.168.1.162 (zabbix-server服务器的IP地址)
ServerActive=192.168.1.162 (zabbix-server服务器的IP地址)
Hostname=192.168.1.174 (zabbix-agent客户端的IP地址)
其他的参数都用默认的就好了
service zabbix-agent restart
至此zabbix-agent客户端安装完成
-------------------------------------------------------------------------------------
小插曲
我们现在可以手动测试下zabbix-server能否检测到zabbix-agent的数据
在zabbix-server服务器(192.168.1.162)上操作
[root@zabbix-server ~]# zabbix_get -s 192.168.1.174 -k system.cpu.load[all,avg1]
0.050000
说明:
zabbix_get 是手动测试的命令
-s 目标服务器地址(也就是zabbix-agent客户端的IP地址)
-K 监控的项目和键值 item[xx,xx]
我们可以看到192.168.1.174服务器cpu的使用率为5%,说明zabbix服务端可以检测到zabbix客户端的数据了
如果报错可以手动测试下端口是否开放
yum install -y telnet
telnet 192.168.1.174 10050 (10050是zabbix-agent客户端的默认端口)
注意:阿里云的服务器需要到管理控制台的安全组开放10050端口,顺便把10051端口也开放了吧
10051端口是zabbix-server服务端默认的端口
-------------------------------------------------------------------------------------
五、倒车入库
最难也是最繁琐的最后一个项目,能不能过就看它了
(以后的主导权在谁手上就看这最后一部了,进不去或者进错位置就尴尬了,第一次嘛,翻车也在所难免,老司机在这,包你满意,哈哈,跟上跟上)
192.168.1.162/zabbix
鼠标 点击 next setp(下一步的意思)
鼠标 点击 next setp
页面安装步骤省略了,很简单的
在zabbix服务器的图形化界面上的右上角 可以选择profile(基本资料)改为中文版的
手动添加主机
配置自动发现
我们可以看到自动发现了zabbix-agent客户端服务器192.168.1.174
至于发现主机192.168.1.174之后需要监听服务器的哪些数据,请看另外一篇吧(有了第一次之后,后面还不是你想怎么样就怎么样,嘿嘿)
https://www.cnblogs.com/ouyangfei/p/12172183.html zabbix监控web应用日志报警并发送消息到钉钉