常见开源监控软件
CactiEZ、nagios、zabbix、smokeping、open-falcon等;
cacti、smokeping偏向于基础网络设备监控,成图漂亮;
cacti、nagios、zabbix服务端,需要php环境支持,其中zabbix和cacti都需要mysql做数据存储;
open-falcon为小米公司开发,适用于大企业;
zabbix监控介绍
C/S架构,基于c++开发,监控中心支持web界面配置和管理;
单台server节点可以支持上万台客户端;
最新版本3.4,官网文档https://www.zabbix.com/manuals
zabbix-server监控中心,接收客户端上报信息,负责配置、统计、操作数据;
web界面:也叫做web UI,在web界面下操作配置是zabbix简单易用的主要原因;
zabbix-proxy:可选组建,他可以代替zabbix-server的功能,减轻server的压力;
zabbix-agent:客户端软件,负责采集哥哥监控服务或项目的数据,并上报;
zabbix服务端安装
准备篇:
web环境:Apache+MySQL+php
安装yum源:
安装zabbix的yum源仓库(服务端、客户端都要安装)
cd /usr/local/src/
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
安装zabbix:
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
mysql设置:
vim /etc/my.cnf //编辑mysql的配置文件,增加代码
character_set_server = utf8 //设置编码为utf8
systemctl restart mysqld //重启MySQL
mysql -uroot -p123456 //登录mysql
mysql> create database zabbix character set utf8; //创建数据库zabbix,指定编码为utf8
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix123'; //创建用户zabbix和密码,只允许本机登录访问zabbix数据库
mysql> flush privileges; //刷新授权,创建用户后必须刷新下
导入zabbix数据:
cd /usr/share/doc/zabbix-server-mysql-3.2.11/ //进入zabbix目录
gzip -d create.sql.gz //解压压缩文件
mysql -uroot -p123456 zabbix < create.sql //将create.sql数据导入zabbix数据库中
启动服务:
systemctl start zabbix-server //启动zabbix-server服务
/etc/init.d/nginx stop //停止nginx服务
systemctl disable nginx //禁用nginx开机启动
systemctl start httpd //开启httpd服务,这个是LAMP下的httpd监听80端口,nginx也是监听80,必须关闭nginx
systemctl enable httpd //设置httpd开机启动
注意:nginx 与 httpd 不能同时启动,因为他们的端口都是80,除非修改nginx的监听端口,最好关闭掉nginx服务;毕竟一个是LAMP,一个是LNMP;
修改zabbix配置:
vim /etc/zabbix/zabbix_server.conf //进入zabbix-server的配置文件,增加下列两行
DBHost=127.0.0.1 //在DBName=zabbix上面增加,设置登录主机ip,因为在mysql创建用户时候限制了只能本机登录
DBPassword=zabbix123 //在DBuser下面增加,这里试设置密码的意思,要与mysql刚刚创建的密码一致
systemctl restart zabbix-server //重启zabbix-server服务
netstat -lntp |grep zabbix //查看监听端口,默认zabbix为10051端口
注意:
查看zabbix服务,一般有很多进程,如果只有一个,就看看zabbix日志
less /var/log/zabbix/zabbix_server.log //zabbix日志查看
错误:
2040:20180412:175353.326 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server th
rough socket '/var/lib/mysql/mysql.sock' (2)
2040:20180412:175353.326 database is down: reconnecting in 10 seconds
解决方案:
提示没有连接到zabbix数据库,必须在zabbix-server配置文件中定义账号、密码、登录ip
web设置:
通过http://IP/zabbix/ 就行访问,这里zabbix服务器的ip为192.168.188.2,那么访问http://192.168.188.2/zabbix 即可
步骤1:
告错:
PHP option "date.timezone" =====Fail
处理:
vim /etc/php.ini //编辑php的配置文件
date.timezone = Asia/Shanghai //添加时区为上海
systemctl restart httpd //重启httpd服务
步骤2:
步骤3:
步骤4:
步骤5:
web登录:
http://192.168.188.2/zabbix/index.php
默认账号admin
默认密码zabbix
这里的ip根据自己服务器的ip来变化;
修改密码与语言:
修改密码
administration——》users——》点击用户名admin——》在password处点击“change password”来修改密码;
设置语言
administration——》users——》点击用户名admin——》在language处选择语言;
忘记admin密码如何做:
进入mysql命令行,选择zabbix库
mysql -uroot -p123456 zabbix //登录mysql,并进入zabbix数据库;
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’; //修改密码,修改users表中的alias为admin的passwd值为md5格式的newpasswd
这样就更改了Admin用户的密码
zabbix客户端安装
安装yum源:
cd /usr/local/src/
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
安装zabbix-agent包:
yum install -y zabbix-agent
修改zabbix-agent配置:
vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1修改为Server=192.168.188.2 //ip地址为zabbix服务端的ip地址(被动模式)
ServerActive=127.0.0.1修改为ServerActive=192.168.188.2 //ip为zabbix-server的ip地址(主动模式)
Hostname=Zabbix server修改为Hostname=zabbix-shu //指定服务器主机名称,这个是在web设置步骤3时候设置的;
启动服务:
systemctl start zabbix-agent //开启zabbix-agent服务
systemctl enable zabbix-agent //设置开机启动
ps aux|grep zabbix //查看服务是否启动
netstat -lntp |grep zabbix //查看监听端口,客户端端口为10050,服务端为10051