监控软件有cacti、nagios、zabbix、smokeping、open-falcon等等。
cacti、smokeping偏向于基础监控,成图很是漂亮。
cacti、nagios、zabbix三款软件均可以监控服务器的基础指标,好比CPU、内存、硬盘、网络等,其中cacti更擅长监控网络流量,不少IDC机房的网络设备流量用cacti监控,应为它成图专业。三款软件都是C/S架构,须要安装一个服务端,而后还须要在被监控的机器上安装客户端。它们也都须要php环境支持,其中zabbix和cacti都须要mysql做为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而能够成图。
open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。php
zabbix适合中小企业,也适合大型企业,它是C/S架构,分为服务端和客户端,单个服务端节点能够支持上万台客户端。基于C++开发,监控中心支持web界面配置和管理。
zabbix最新版本3.4,官方文档网址https://www.zabbix.com/manualsmysql
zabbix的5个组件linux
1. zabbix-server 监控中心,是整个监控体系的最核心组件,负责接收客户端上报信息,负责配置、统计、操做数据
2. 数据存储 用于存放数据,好比mysql
3. web界面 也叫web UI,在web界面下操做配置是zabbix简单易用的主要缘由,能够在web界面中配置、管理各个客户端。运行web界面须要PHP环境支持。
4. zabbix-proxy 为可选组件,它能够代替zabbix-server的功能,减轻server的压力
5. zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报ios
zabbix运行流程web
准备两台机器作实验,一台为服务端,另外一台客户端sql
用yum安装zabbix数据库
首先安装zabbix的yum扩展源,而后利用yum安装zabbix。在服务端上执行命令:vim
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 list |grep zabbix //列出zabbix相关的包,
须要安装的包有:
zabbix-agent :客户端程序
zabbix-get :服务端上命令行获取哭护短检测项目的工具。
zabbix-server-mysql :zabbix-server MySQL版
zabbix-web :web界面
zabbix-web-mysql:web界面MySQL相关
在服务端用yum安装这五个包:
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
若是没有安装MySQL就要先在服务端安装MySQL。
而后编辑MySQL的配置文件,在文件[mysqld]下增长一行内容
#vim /etc/my.cnf //须要增长配置
character_set_server = utf8
重启mysqld服务后,进入mysql命令行,建立zabbix库
mysql> create database zabbix character set utf8;
再建立用户
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'xiny-zabbix';
导入zabbix相关数据
#cd /usr/share/doc/zabbix-server-mysql-3.2.7
#gzip -d create.sql.gz
#mysql -uroot -pxxx zabbix < create.sql
#systemctl start httpd; systemctl enable httpd
修改zabbix-server的配置文件,启动zabbix-server服务
#vim /etc/zabbix/zabbix_server.conf
DBHost=127.0.0.1 //在DBName=zabbix上面增长这一行
DBPassword=xiny-zabbix //在DBuser下面增长
#systemctl start zabbix-server //启动zabbix-server
#systemctl enable zabbix-server //使它开机启动
#netstat -lntp |grep zabbix //查看监听端口
在浏览器中访问http://ip/zabbix 会出现一个zabbix界面。点击右下角的Next step会出现警告提示,解决这个问题要编辑php.ini或者zabbix的httpd配置文件。
#vim /etc/httpd/conf.d/zabbix.conf
增长下面一行内容:
php_value date.timezone Asia/Shanghai
而后重启httpd服务在刷新浏览器配置zabbix,从新点击Next step,填写相关信息
用户名Admin 密码zabbix
进入后台第一件事情就是修改密码
在客户端上安装zabbix的yum源,而后安装zabbix-agent,再修改配置文件。
#vim /etc/zabbix/zabbix-agentd.conf //修改的内容有
Server=192.168.42.128 //定义服务端的IP(被动模式)
ServerActive=192.168.42.128 //定义服务端的IP(主动模式)
Hostname=xiny-123 //定义主机名,在web页面下要设置一样的主机名
而后启动服务和使它开机启动
#systemctl start zabbix-agent
#systemctl enable zabbix-agent
进入mysql命令行,选择zabbix库 #mysql -uroot -p zabbix mysql> update users set passwd=md5(‘newpasswd’) where alias=‘Admin’; 这样就更改了Admin用户的密码为newpasswd