常见开源监控软件

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:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第1张图片

告错:
PHP option "date.timezone" =====Fail
处理:

vim /etc/php.ini                                    //编辑php的配置文件
date.timezone = Asia/Shanghai            //添加时区为上海
systemctl restart httpd                        //重启httpd服务

步骤2:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第2张图片

步骤3:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第3张图片

步骤4:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第4张图片

步骤5:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第5张图片


web登录:

http://192.168.188.2/zabbix/index.php
默认账号admin
默认密码zabbix
这里的ip根据自己服务器的ip来变化;

修改密码与语言:

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第6张图片

zabbix服务端安装、zabbix客户端安装、zabbix忘记admin密码怎么做、_第7张图片

修改密码

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