笔记内容:
- 19.1 Linux监控平台介绍
- 19.2 zabbix监控介绍
- 19.3/19.4/19.6 安装zabbix
- 19.5 忘记Admin密码如何做
笔记日期:2017-11-16
19.1 Linux监控平台介绍
监控是一个很重要的东西,如果一个企业里的服务器没有监控的话,就像一个瞎子不知道前面的路不知道后面发生了什么,就算出了问题也不知道,如果是一些线上的业务,没有监控的话,出了问题后,只能等着用户来给你反馈。
上图也列出了一些常见的开源监控软件,其中最为流行的是nagios和zabbix。
Smokeping和cacti也比较流行,不过它们是偏向于基础监控,成图非常漂亮,像IDC机房就比较喜欢使用。
早期时nagios的流行度比较高,但是这几年慢慢被zabbix超越,zabbix比nagios性能更好而且配置也更加简单。 open-falcon是借鉴了zabbix所开发出来的监控软件,由小米公司开发并开源,小米一开始也是用的zabbix,后来是为了满足一些个性化需求开发了open-falcon。这款监控软件适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。
Nagios、zabbix以及cacti这几款软件都支持web界面去管理,尤其是zabbix支持得最好,可以增加监控节点,可以配置具体的监控项目和报警预知。
19.2 zabbix监控介绍
Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。Zabbix 的授权是属于 GPLv2。
使用各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBM DB2 储存资料。Server 端基于 C/C 语言、Web 管理端 frontend 则是基于 PHP 所制作的。Zabbix 可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP ... 各种协定做死活监视。在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPU Load、网络使用状况、硬盘容量等各种状态。而就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视。另外,Zabbix 包含 XMPP 等各种 Item 警示功能。
19.3/19.4/19.6 安装zabbix
接下来的实验,需要准备两台机器,一台作为服务端也就是监控中心,一台作为客户端。
Zabbix 可以通过yum安装,不过前提是安装了epel扩展源,通过epel扩展源安装的话,能够安装的最高版本是3.2版本。
推荐去官方下载地址下载对应的版本,下载地址:
www.zabbix.com/download
点击进去,找到release:
复制下载链接:
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
然后到你的两台机器中使用wget命令下载这个rpm包。
下载完之后安装:
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
实际上这个操作只是安装到了yum源仓库。
然后在服务端上使用yum安装以下这些包:
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
会连带安装httpd和php。
zabbix-agent:客户端软件
zabbix-get:这是服务端上的一个工具,可以通过命令行的形式获得客户端的某些监控项目的数据
zabbix-server-mysql :这个是需要安装一些与mysql相关的文件。
zabbix-web:这个是zabbix的web界面
zabbix-web-mysql:这个是web和mysql相关的东西
作为客户端的机器上不需要安装这么多的包,只需要安装zabbix-agent客户端软件即可。
yum install -y zabbix-agent
如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql:
http://note.youdao.com/noteshare?id=ea5a537009c5bdb7a2b4ce34680d2232&sub=F7329B0F66854E8B8AB95CB384FC7D52
启动了mysql后编辑一下它的配置文件:
vim /etc/my.cnf
增加一行配置参数:
character_set_server = utf8
这是设置字符集编码为utf-8,如果不设置字符集编码的话,当你把web界面的文字改为中文时,就可能会出现乱码。
修改完之后重启mysql:
service mysqld restart
然后登录mysql,创建zabbix的库:
create database zabbix character set utf8;
再创建一个用户,这个用户是让zabbix组件能够连接你的mysql的:
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
完成上两步操作后,退出mysql,导入zabbix 的原始数据:
cd /usr/share/doc/zabbix-server-mysql-3.2.10
解压这个压缩包:
gzip -d create.sql.gz
将这个sql文件导入到zabbix 库中:
mysql -uroot -p'12345' zabbix < create.sql
完成数据导入后,启动zabbix :
systemctl start zabbix-server.service
接着启动httpd,如果你机器里已经有一个web服务器在监听80端口的话,得先把这个服务停掉再启动httpd:
systemctl start httpd.service
可以把zabbix 和httpd设置为开机启动;
systemctl enable zabbix-server.service
systemctl enable httpd.service
我这里启动zabbix 时出现了问题,没有正常监听端口:
解决办法:
- 先查看日志:
less /var/log/zabbix/zabbix_server.log
从日志信息可以得知,zabbix无法连接mysql
- 修改配置文件:
vim /etc/zabbix/zabbix_server.conf
在DBHost中增加这一句:
DBHost=127.0.0.1
然后在DBuser下面增加这一句:
DBPassword=aming-zabbix
- 修改完之后重启zabbix服务:
systemctl restart zabbix-server.service
- 查看进程和端口:
如图,代表启动成功,端口也正常监听了。
以上步骤完成后,就是配置web界面了,打开你windows的浏览器,进入你的zabbix:
点击Next step开始配置:
在php的配置文件里设置时区:
vim /etc/php.ini
重启httpd:
systemctl restart httpd.service
重启完之后刷新浏览器的页面:
配置完之后就可以登录了,管理员账户是Admin,默认密码是zabbix:
登录之后的界面:
登录之后就是修改Admin的密码,因为这时候密码是一个默认密码:
可以在Language选项框中把语言设置为中文:
以上步骤仅仅是把服务端安装好了,现在还需要安装客户端:
1. 在客户端上也需要下载zabbix的yum源
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
- 编辑客户端的配置文件:
vim /etc/zabbix/zabbix_agentd.conf
需要修改内容如下:
Server=127.0.0.1修改为Server=192.168.77.130 //定义服务端的ip(被动模式)
ServerActive=127.0.0.1修改为ServerActive=192.168.77.130 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=study02 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
- 保存退出后,启动客户端:
systemctl start zabbix-agent
systemctl enable zabbix-agent
- 查看一下进程和端口是否正常:
19.5 忘记Admin密码如何做
- 登录mysql,选择zabbix库:
use zabbix;
- 使用以下命令更改密码:
update users set passwd=md5(‘新密码’) where alias=’Admin’;
这样就更改了Admin用户的密码
修改后就可以使用新密码登录你zabbix的web页面了。