7月6日
19.1 Linux监控平台介绍Linux监控平台介绍
常见开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等等,其中cacti、smokeping偏向于基础监控,成图非常漂亮。cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图。open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究。
19.2 zabbix监控介绍
zabbix监控介绍
Zabbix不仅适合中小型企业,也适合大型企业,它是C/S架构,分为服务队端与客户端,基于C++开发,监控中心支持web界面配置和管理。单server节点可以支持上万台客户端。最新版本3.4,官方文档 https://www.zabbix.com/manuals
Zabbix的5个组件:
1.zabbix-server
zabbix-server是整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,负责所有配置、统计数据及操作数据都由它组织。
2.数据存储
所有的收集信息都存储在这里,比如mysql。
3.web界面
web界面也叫web UI,这是Zabbix监控简单易用的原因之一,因为我们可以在web界面中配置、管理各个肇端 ,运行Web界面需要有php环境支持。
4.zabbix-proxy
zabbix-proxy为可选组件,用于监控节点非常多的分布式环境中,它可以代替zabbix-server的功能,减轻server的压力。
5.zabbix-agent
zabbix-agent为部署在各客户端的组件,用于采集各监控项目的数据,并把采集的数据传输给zabbix-proxy或者zabbix-server。
Zabbix架构流程图
19.3-19.4-19.6 安装zabbix
安装zabbix
1.官网下载地址
地址:www.zabbix.com/download
2.下载安装包,实验准备两台机器,两台都要下载。
# wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3.使用rpm安装包(两台机器)
#官网有安装教程
# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
#查看安装的zabbix的yum源
# cat /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repoCentOS-Media.repo CentOS-Vault.repo epel-testing.repo
CentOS-CR.repo CentOS-fasttrack.repoCentOS-Sources.repo epel.repo.1 zabbix.repo
# cat /etc/yum.repos.d/zabbix.repo
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
4.安装zabbix的一些包
# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
#会连带安装httpd和php
#如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql
#启动mysql
#/etc/init.d/mysqld start
5.配置/etc/my.cnf
# vi /etc/my.cnf
增加如下配置内容:
character_set_server = utf8
6.重启mysql服务后,进入mysql命令行,创建zabbix库。
#查看服务进程
# ss -tnl
#假设如果mysql无法重启,可以查看进程,使用命令杀死假死进程。
# killall mysqld
#重启成功
# systemctl restart mysql
# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
#创建zabbix库
# mysql -uroot -pszyino-123
#创建库
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
#创建用户
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'admin-zabbix';
Query OK, 0 rows affected (0.01 sec)
mysql>
7.导入数据
#进入目录
# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
# ls
AUTHORSChangeLogCOPYINGcreate.sql.gzNEWSREADME
#解压压缩包
# gzip -d create.sql.gz
# ls
AUTHORSChangeLogCOPYINGcreate.sqlNEWSREADME
#导入数据
# mysql -uroot -pszyino-123 zabbix < create.sql
Warning: Using a password on the command line interface can be insecure.
# cd
8.启动 zabbix-server服务
#启动zabbix
# systemctl start zabbix-server
#启动httpd,先检查看nginx服务有没启动,启动了关掉。
# ps aux |grep nginx
root 8300.00.2468602276 ? Ss 1月29 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 108900.00.3487843780 ? S 00:00 0:00 nginx: worker process
nobody 108910.00.3487843780 ? S 00:00 0:00 nginx: worker process
root 145120.00.0 112680 976 pts/0 R+ 14:19 0:00 grep --color=auto nginx
# /etc/init.d/nginx stop
Stopping nginx (via systemctl): [确定]
# systemctl start httpd
# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0: LISTEN 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0: LISTEN 896/rpc.mountd
tcp 0 0 0.0.0.0:38964 0.0.0.0: LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 822/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0: LISTEN 1596/master
tcp 0 0 0.0.0.0:38329 0.0.0.0: LISTEN 795/rpc.statd
tcp 0 0 0.0.0.0:2049 0.0.0.0: LISTEN -
tcp6 0 0 :::3306 ::: LISTEN 14401/mysqld
tcp6 0 0 :::111 ::: LISTEN 1/systemd
tcp6 0 0 :::80 ::: LISTEN 14538/httpd
tcp6 0 0 :::20048 ::: LISTEN 896/rpc.mountd
tcp6 0 0 :::22 ::: LISTEN 822/sshd
tcp6 0 0 ::1:25 ::: LISTEN 1596/master
tcp6 0 0 :::2049 ::: LISTEN -
tcp6 0 0 :::38115 ::: LISTEN -
tcp6 0 0 :::47721 ::: LISTEN 795/rpc.statd
9.加入服务,设置开机启动
# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
# systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
#如果有安装nginx,需要关闭开机启动
# systemctl disable nginx
nginx.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig nginx off
# chkconfig nginx off
#查看监听端口,发现没有监听端口
# ps aux |grep zabbix
zabbix 145070.00.3 2560803452 ? S 14:18 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
root 146770.00.0 112680 976 pts/0 R+ 14:38 0:00 grep --color=auto zabbix
# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0: LISTEN 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0: LISTEN 896/rpc.mountd
tcp 0 0 0.0.0.0:38964 0.0.0.0: LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 822/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0: LISTEN 1596/master
tcp 0 0 0.0.0.0:38329 0.0.0.0: LISTEN 795/rpc.statd
tcp 0 0 0.0.0.0:2049 0.0.0.0: LISTEN -
tcp6 0 0 :::3306 ::: LISTEN 14401/mysqld
tcp6 0 0 :::111 ::: LISTEN 1/systemd
tcp6 0 0 :::80 ::: LISTEN 14538/httpd
tcp6 0 0 :::20048 ::: LISTEN 896/rpc.mountd
tcp6 0 0 :::22 ::: LISTEN 822/sshd
tcp6 0 0 ::1:25 ::: LISTEN 1596/master
tcp6 0 0 :::2049 ::: LISTEN -
tcp6 0 0 :::38115 ::: LISTEN -
tcp6 0 0 :::47721 ::: LISTEN 795/rpc.statd
查看日志
# less /var/log/zabbix/zabbix_server.log
无法连接mysql,如下图:
修改配置文件:
# vim /etc/zabbix/zabbix_server.conf
增加如下配置:
DBHost=127.0.0.1//在DBName=zabbix上面增加
DBPassword=admin-zabbix//在DBuser下面增加
编辑配置文件之后,需要重启服务,重新加载配置文件。
#重启
# systemctl restart zabbix-server
#查看启动服务,正常需要启动如下服务
# ps aux |grep zabbix
zabbix 147771.10.4 2562604120 ? S 15:12 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
zabbix 147800.00.2 2562602468 ? S 15:12 0:00 /usr/sbin/zabbix_server: configuration syncer
zabbix 147810.00.2 2562602676 ? S 15:12 0:00 /usr/sbin/zabbix_server: db watchdog
zabbix 147820.30.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: poller #1
zabbix 147830.30.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: poller #2
zabbix 147840.40.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: poller #3
zabbix 147850.30.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: poller #4
zabbix 147860.30.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: poller #5
zabbix 147870.30.5 3632045188 ? S 15:12 0:00 /usr/sbin/zabbix_server: unreachable poller #1
zabbix 147880.00.3 2562603584 ? S 15:12 0:00 /usr/sbin/zabbix_server: trapper #1
zabbix 147890.00.3 2562603584 ? S 15:12 0:00 /usr/sbin/zabbix_server: trapper #2
zabbix 147900.00.3 2562603584 ? S 15:12 0:00 /usr/sbin/zabbix_server: trapper #3
zabbix 147910.00.3 2562603584 ? S 15:12 0:00 /usr/sbin/zabbix_server: trapper #4
zabbix 147940.00.3 2562603584 ? S 15:12 0:00 /usr/sbin/zabbix_server: trapper #5
zabbix 147960.00.2 2588322616 ? S 15:12 0:00 /usr/sbin/zabbix_server: icmp pinger #1
zabbix 147970.00.2 2562602684 ? S 15:12 0:00 /usr/sbin/zabbix_server: alerter
zabbix 147990.00.2 2562602464 ? S 15:12 0:00 /usr/sbin/zabbix_server: housekeeper
zabbix 148000.00.2 2563322904 ? S 15:12 0:00 /usr/sbin/zabbix_server: timer #1
zabbix 148010.00.2 2562602832 ? S 15:12 0:00 /usr/sbin/zabbix_server: http poller #1
zabbix 148020.20.5 3606245028 ? S 15:12 0:00 /usr/sbin/zabbix_server: discoverer #1
zabbix 148050.00.2 2562602816 ? S 15:12 0:00 /usr/sbin/zabbix_server: history syncer #1
zabbix 148120.00.2 2562602816 ? S 15:12 0:00 /usr/sbin/zabbix_server: history syncer #2
zabbix 148150.00.2 2562602816 ? S 15:12 0:00 /usr/sbin/zabbix_server: history syncer #3
zabbix 148170.00.2 2562602816 ? S 15:12 0:00 /usr/sbin/zabbix_server: history syncer #4
zabbix 148180.00.3 2562603760 ? S 15:12 0:00 /usr/sbin/zabbix_server: escalator #1
zabbix 148200.00.3 2562603756 ? S 15:12 0:00 /usr/sbin/zabbix_server: proxy poller #1
zabbix 148210.00.2 2562602584 ? S 15:12 0:00 /usr/sbin/zabbix_server: self-monitoring
zabbix 148220.00.2 2562602804 ? S 15:12 0:00 /usr/sbin/zabbix_server: task manager
root 148280.00.0 112680 976 pts/0 R+ 15:12 0:00 grep --color=auto zabbix
#查看监听端口
# netstat -lntp |grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0: LISTEN 14777/zabbix_server
tcp6 0 0 :::10051 ::: LISTEN 14777/zabbix_server
10.web界面下面配置zabbix
浏览器访问:172.16.111.100/zabbix
ok说明正常,Fail是有问题的,需要到配置文件里配置一下.
#修改配置文件,设置时区
# vi /etc/php.ini
#编辑完成文件后,重启httpd
# systemctl restart httpd
配置图:
刷新浏览器
Database port默认是0就是mysql的3306端口,密码就是我们创建zabbix用户时的密码
安装成功
登录后台配置
使用默认用户名admin 密码zabbix登录
进入后台第一件事情就是修改密码
备注:修改完成密码后,设置成中文显示,保存后刷新浏览器。
zabbix客户端安装
1.下载zabbix的yum源
#下载yum源
# wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
#安装yum源
# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
#安装
# yum install -y zabbix-agent
2.编辑配置文件
# vi /etc/zabbix/zabbix_agentd.conf
修改如下内容:
Server=127.0.0.1修改为Server=172.16.111.100 //定义服务端的ip(被动模式)
ServerActive=127.0.0.1修改为ServerActive=172.16.111.100 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=admin-123 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
3.启动服务,设置开机启动
# systemctl start zabbix-agent
# ps aux |grep zabbix
zabbix 74000.00.1806041256 ? S 16:29 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 74010.00.1806041292 ? S 16:29 0:00 /usr/sbin/zabbix_agentd: collector
zabbix 74020.00.1806041836 ? S 16:29 0:00 /usr/sbin/zabbix_agentd: listener #1
zabbix 74030.00.1806041836 ? S 16:29 0:00 /usr/sbin/zabbix_agentd: listener #2
zabbix 74040.00.1806041836 ? S 16:29 0:00 /usr/sbin/zabbix_agentd: listener #3
zabbix 74050.00.2806042176 ? S 16:29 0:00 /usr/sbin/zabbix_agentd: active checks #1
root 74130.00.0 112676 976 pts/0 R+ 16:30 0:00 grep --color=auto zabbix
# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 3893/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN 758/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0: LISTEN 1221/master
tcp 0 0 0.0.0.0:10050 0.0.0.0: LISTEN 7400/zabbix_agentd
tcp6 0 0 :::3306 ::: LISTEN 1126/mysqld
tcp6 0 0 :::22 ::: LISTEN 758/sshd
tcp6 0 0 ::1:25 ::: LISTEN 1221/master
tcp6 0 0 :::10050 ::: LISTEN 7400/zabbix_agentd
#设置开机启动:
# systemctl enable zabbix-agent
19.5 忘记Admin密码如何做
忘记Admin密码如何做
进入mysql命令行,选择zabbix库
mysql -uroot -p zabbix
update users set passwd=md5('3333333') where alias='Admin';
这样就更改了Admin用户的密码为:3333333
页:
[1]