一、常见开源监控软件

  • cacti、nagios、zabbix、smokeping、open-falcon等等
  • cacti、smokeping偏向于基础监控,成图非常漂亮
  • cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
  • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究
  • 后续以介绍zabbix为主

二、zabbix监控介绍

  • C/S架构,基于C++开发,监控中心支持web界面配置和管理
  • 单server节点可以支持上万台客户端
  • 最新版本3.4,官方文档https://www.zabbix.com/manuals
  • 5个组件
  • zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
  • 数据存储 存放数据,比如mysql
  • web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因
  • zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力
  • zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报

三、安装zabbix

官网下载地址 www.zabbix.com/download

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
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

会连带安装httpd和php 如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql http://blog.51cto.com/13569831/2107058

vim /etc/my.cnf //需要增加配置
character_set_server = utf8

重启mysqld服务后,进入mysql命令行,创建zabbix库

 mysql -uroot -p123456
 create database zabbix character set utf8;
 再创建用户
 grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'chen-zabbix'; 
 导入数据
  cd /usr/share/doc/zabbix-server-mysql-3.2.11/      //如果文件夹不存在就自动不全,随着版本更新,文件名的后缀数字会改变
 gzip -d create.sql.gz
 mysql -uroot -p123456 zabbix < create.sql 
 systemctl start httpd 
 systemctl enable httpd
 vim /etc/zabbix/zabbix_server.conf //修改或增加
DBHost=127.0.0.1 //在DBName=zabbix上面增加
DBPassword=chen-zabbix //在DBuser下面增加
 systemctl start zabbix-server   //启动服务
 systemctl enable zabbix-server  //将服务加入开机启动
 chkconfig nginx off   //关闭nginx的开启启动

  • chkconfig与systemctl相关信息

 ps -ef | grep zabbix  //检查服务是否启动

如果没有启动,可以去查看log less /var/log/zabbix/zabbix_server.log netstat -lntp |grep zabbix //查看监听端口 浏览器访问http://192.168.127.133/zabbix/ web界面下面配置zabbix

这里发现date后是fail

 vim /etc/php.ini
 添加
 date.timezone = Asia/Shanghai
 重启httpd
 systemctl restart httpd

刷新web管理界面 ip填127.0.0.1 端口0就是默认的3306,如果端口修改了这里就填修改后的端口 配置完成后用管理员登陆 用户名Admin 密码zabbix 进入后台第一件事情就是修改密码

  • 保存配置并刷新网页

四、忘记Admin密码如何做

进入mysql命令行,选择zabbix库

 mysql -uroot -p123456 zabbix
 update users set passwd=md5('123456') where alias='Admin';

这样就更改了Admin用户的密码

五、Zabbix客户端安装

在另一台机器操作 在客户端上也需要下载zabbix的yum源

 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
 yum install -y zabbix-agent
 vim  /etc/zabbix/zabbix_agentd.conf //修改如下配置
 Server=127.0.0.1修改为Server=192.168.127.133 //定义服务端的ip(被动模式)
 ServerActive=127.0.0.1修改为ServerActive=192.168.127.133 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=chinantfy-134 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
 systemctl start zabbix-agent
 systemctl enable zabbix-agent