Linux监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码如何做
7月6日任务
19.1 Linux监控平台介绍
19.2 zabbix监控介绍
19.3/19.4/19.5 安装zabbix
19.6 忘记Admin密码如何做
19.1 Linux监控平台介绍
一般大公司都会使用一些监控平台软件监控服务器运行状态,否则服务器发生问题了,需要等到用户的反馈就会不及时,产生很大的损失了。
常见的开源监控软件有:cacti、nagios、zabbix、smokeping、open-falcon等。
nagios和zabbix流行度很高,cacti和smokeping偏向于基础的监控,例如cacti监控网络设备等(IDC机房用),成图非常漂亮。
前几年nagios很多公司在用,后来zabbix异军突起开始流行起来,他比nagios有更多优势,配置也更简单。
cacti、nagios和zabbix服务端的监控中心需要php环境的支持,zabbix和cacti用mysql记录,nagios不记录历史数据而注重服务的当前状态。
open-falcon是小米公司开发的,早起小米公司用zabbix监控,后来为了满足个性化需求,自己开发了open-falcon,借鉴了zabbix的监控思想。
很多大公司:滴滴、360、微博、京东等都在用open-falcon。
zabbix会把数据记录到mysql,再形成图表。 nagios注重关注状态不关心历史数据。 zabbix可以直接在浏览器里方便配置。
19.2 zabbix监控介绍
zabbix是基于C/S架构使用C++语言开发的,监控中心支持web配置管理,主流有3.2版本,最新的是3.4版本。
zabbix需要有一个服务端,在客户端上也要安装一个agent服务,然后agent采集客户端机器的数据,主动上报给服务端,也可以服务端主动去agent上抓数据。
agent有两种模式:主动、被动。
监控中心开启php环境,一台server中心支持上万台的agent,瓶颈在于采集数据的量。
如果数据量大可以使用zabbix-proxy代理,充当server的角色,减轻server端的压力,代理得到分析结果后再汇报。
zabbix-agent主要负责收集监控服务项目的数据
zabbix 包括有5个组件:
①zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
②数据存储 存放数据,比如mysql
③web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因
④zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力
⑤zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报。
zabbix监控流程图
19.3/19.4/19.5 安装zabbix
准备2台机器,A机器为服务端(监控中心)B机器为客户端。
1、2台机器都需要wget下载rpm包并安装
[root@jimmylinux-001 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
[root@jimmylinux-001 ~]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
2、yum 安装zabbix 相应的包
[root@jimmylinux-001 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
3、安装完对应的包以后,检查mysql服务是否可以正常开启。
4、编辑mysql的配置文件 vim /etc/my.cnf 设置默认的字符集,如果不修改的话,当zabbix设置中文界面时就会有乱码问题。保存退出重启mysql服务 systemctl restart mysql
5、登录mysql创建zabbix库
[root@jimmylinux-001 ~]# mysql -uroot -pabcd1234 登录mysql mysql> create database zabbix character set utf8; 创建zabbix库 mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123-zabbix';
创建用户,这个用户是需要让PHP代码连接mysql的,还有监控中心也就是zabbix server启动的前提也是需要连接mysql。
6、导入原始数据
7、启动zabbix和httpd服务,如果Nginx有启动,需要先停止Nginx。
(在启动服务之前一定记得检查看看防火墙和selinux是否已经关闭,如果是开启状态需要先关闭,否则实验做不成功服务也会启动失败)
检查80端口如果没有被占用,就可以启动httpd服务了。
设置开机自启动
查看错误日志排查问题
[root@jimmylinux-001 ~]# less /var/log/zabbix/zabbix_server.log
日志内容中有问题的地方如下,无法连接mysql。
2577:20180708:195136.799 using configuration file: /etc/zabbix/zabbix_server.conf
2577:20180708:195136.843 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
编辑配置文件 /etc/zabbix/zabbix_server.conf 更改以下2处地方后再重启zabbix服务
如果上面的操作都做了,还是有以下的报错,那需要看看selinux是否有开启,假如是开启状态需要先关闭,再启动zabbix服务。
启动zabbix服务,查看监听端口。
8、配置web界面,打开浏览器输入监控中心的IP(http://192.168.52.128/zabbix)
点击下一步查看右边fail的选项再进行设置,OK状态的不用管。
修改PHP配置文件里面的时区 /etc/php.ini
重启Apache的httpd服务,然后刷新浏览器。
[root@jimmylinux-001 log]# systemctl restart httpd 重启httpd服务
点击下一步继续,直到配置成功。
登录到监控中心,默认用户名Admin 密码zabbix
登录进去后首先要修改Admin的密码,Administration-->users-->Admin-->ChangePassword:选择中文语言,设置好以后点击update。
重新再登录进去就是中文界面显示了
B机器客户端安装
1、首先需要下载yum源安装yum源,yum只需要安装一个包。
[root@jimmylinux-002 ~]# yum install -y zabbix-agent
2、编辑配置文件,添加白名单在客户端上需要指定服务端的IP,如果不指定是没有办法获取数据的。
vim /etc/zabbix/zabbix_agentd.conf
修改内容如下:
Server=127.0.0.1修改为Server=192.168.52.128 //定义服务端的ip(被动模式)
ServerActive=127.0.0.1修改为ServerActive=192.168.52.128 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=limingsong-002 //这是自定义的主机名,一会还需要 在web界面下设置同样的主机名。
3、启动zabbix-agent服务,查看进程和监听端口。
4、添加开机自启动
19.6 忘记Admin密码如何做
比如长时间没有使用,导致zabbix的登录密码忘记了,这个时候也是可以通过mysql修改数据库的数据修改密码的。
具体操作如下:
这个时候就可以使用新密码登录zabbix了