常见开源监控软件
•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之前没有安装的话要安装mysql
vim /etc/my.cnf //需要增加配置
character_set_server = utf8
重启mysqld服务后,进入mysql命令行,创建zabbix库
create database zabbix character set utf8;
再创建用户
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.02 sec)
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> Ctrl-C -- exit!
导入数据
cd /usr/share/doc/zabbix-server-mysql-3.2.7
gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql
[root@gregory /usr/share/doc/zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@gregory /usr/share/doc/zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz
[root@gregory /usr/share/doc/zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README
[root@gregory /usr/share/doc/zabbix-server-mysql-3.2.11]# mysql zabbix < create.sql
systemctl start httpd; systemctl enable httpd
vim /etc/zabbix/zabbix_server.conf //修改或增加
DBHost=127.0.0.1 //在DBName=zabbix上面增加
DBPassword=aming-zabbix //在DBuser下面增加
systemctl start zabbix-server
systemctl enable zabbix-server
netstat -lntp |grep zabbix //查看监听端口
浏览器访问http://ip/zabbix/ web界面下面配置zabbix
用户名Admin 密码zabbix
进入后台第一件事情就是修改密码
[root@gregory ~]# systemctl zabbix-server
Unknown operation 'zabbix-server'.
[root@gregory ~]# systemctl start zabbix-server
[root@gregory ~]# ps aux |grep nginx
tcp6 0 0 :::10051 :::* LISTEN 5315/zabbix_server
忘记Admin密码如何做
进入mysql命令行,选择zabbix库
mysql -uroot -p zabbix
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
这样就更改了Admin用户的密码