Linux监控平台介绍
常见开源监控软件
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包
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
然后开始yum安装zabbix
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
客户端只安装
yum install -y zabbix-agent
会连带安装httpd和php
如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql
然后查看mysql是否启动,如果没有启动,将mysql启动起来。
vim /etc/my.cnf //需要增加配置
character_set_server = utf8(增加一个中文字符集,如果不加,在我们将web设置成中文时会出现显示错误)
然后重启mysql
重启mysqld服务后,进入mysql命令行,创建zabbix库,进入mysql库后首先定义字符集
create database zabbix character set utf8;
再创建用户
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '19860127';
然后退出
导入原始数据。
cd /usr/share/doc/zabbix-server-mysql-(后面需要用Tab键补全)
[root@linletao-001 zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
然后解压里面的create.sql.gz 这个压缩包
gzip -d create.sql.gz
然后生成以下文件
AUTHORS ChangeLog COPYING create.sql NEWS README
然后将create.sql导入zabbix
mysql -uroot -pxxx zabbix < create.sql
然后启动zabbix和httpd
但是zabbix并没有监听端口,而程序还在进行
netstat -lnp |grep zabbix没有任何信息
我们需要去排查一下,查看日志
/var/log/zabbix/zabbix_server.log
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock提示不能通过套接字连接mysql。
这时,我们要据需修改配置文件
vim /etc/zabbix/zabbix_server.conf
在里面增加以下的配置
DBHost=127.0.0.1(这个要和我们前面在mysql的授权中的IP一致,在Option: DBName上面增加)
DBPassword=aming-zabbix //在DBuser下面增加(在授权的时候填的密码)
配置完成后从新重启zabbix,就会发现它同时启动了很多的子进程。
也成功的监听了端口,10051
tcp 0 0 0.0.0.0:10051 0.0.0.0: LISTEN 9116/zabbix_server
tcp6 0 0 :::10051 ::: LISTEN 9116/zabbix_server
然后配置web中心,在浏览器中输入IP地址,后面接/zabbix/
进入页面后点击下一步,
我们发现它的时区没有配置成功,所以我们还要去再配置一下php.ini
/etc/php.ini
然后找到date.timezone,完成如下配置,记住,要将前面的;删掉。
date.timezone = Asia/Shanghai
定义完成后,重启httpd服务
这样就将时区配置完成,并且显示ok,然后下一步,填写mysql相关的信息
这里需要在注意的是,数据口端口默认是3306,如果不是,要将端口填写上去。
然后下一步,填写一个名字。
最后显示
然后登陆zabbix,账号为Admin,密码是zabbix,登陆完后首先要更改密码
找到Administation,然后选择user,点击changepasswd,更改密码。
下面的Language可以改语言,选择中文,然后点击updata,刷新,就可以显示中文了。
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
这里我们需要指定服务端的ip,搜索server,将以前里面的server=127.0.0.1改为server=监控中心的ip
还需要更写一个ServerActive=监控中心的ip。
写这两的原因是一个是主动模式,一个是被动模式。这两个都要写。
还有一个需要写的地方是,Hostname= 这个是写监控的主机名字,这个要写系统可以识别的名字。
然后启动客户端
systemctl start zabbix-agent
他监听的端口为10050
忘记Admin密码如何做
进入mysql命令行,选择zabbix库
mysql -uroot -p zabbix
update users set passwd=md5(‘新密码’) where alias=‘Admin’;
转载于:https://blog.51cto.com/13067688/2120098