标签:linux
十六周二次课19.1 Linux监控平台介绍
监控存在的原因
站点出了问题,没有人知道,等用户发现了,才提醒供应商,对公司影响很大
常见开源监控软件
cacti、nagios、zabbix、smokeping、open-falcon等等,其中nagios、zabbix流行度非常高
cacti、smokeping偏向于基础监控,成图非常漂亮,适合监控网络设备
1. cacti监控网络的设备
cacti、nagios、zabbix服务端监控中心,需要php环境支持(用Apache的php,用nginx的php都可以),其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
因为zabbix配置简单,优势明显,早期使用nagios的企业,慢慢的转向使用zabbix
nagios,需要更改配置文件,并不支持web界面一键执行,nagios和zabbix相比,
1.nagios 更注重的是某一个监控的状态,不关注历史;
2.zabbix则是把每一次监控的数值反馈出来,数值存到数据库里面,方便后期数据图去分析监控整个状态;
3.nagios不需要mysql的支持,不能成图,若需要画图,得安装插件以后才支持web界面;
4.ccti 也需要mysql的支持,也可以成图,可以记录历史数据
zabbix 在web界面下管理得非常彻底,可以增加监控节点,报警预知等等
open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究
open-falcon软件适合大企业使用,小企业可以去研究它的思想
后续以介绍zabbix为主
19.2 zabbix监控介绍
C/S架构,基于C++开发,监控中心支持web界面配置和管理
zabbix软件,是C/S架构:有一个服务端,去客户端抓数据。在客户端必须要有一个服务启动运行才可以抓取数据;数据可以主动的上报服务端,也可以让服务端去连接客户端获取(通过抓取数据方式,数据获取分两个模式,一个主动模式,一个被动模式),zabbix软件基于C++开发,监控中心需要一个PHP的web环境,因为要开启一个web界面配置和管理
单台server节点(即一台server),理论上 可以支持上万台客户端
瓶颈:在于采集数据的量,虽然支持上万台,但监控的项目过多,还是会导致zabbix效率降低;所以,当服务器大到一定规模的时候,就需要对zabbix进行优化
解决方法:可以增加一些代理点,这些代理点充当server,替代server去采集数据,最终得到分析结果再汇报给主服务端server
目前zabbix软件,最新版本3.4,官方文档
更新快,使用的用户多
zabbix架构里,包括了5个组件:
zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
数据存储 存放数据,比如mysql
web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因(如果没有web界面,就无法在浏览器上配置它)
zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力(当机器量很多的时候,可以使用zabbix-proxy)
有时候,服务器分布在多个机房里,每个机房的服务器之间都是一个单独的内网,这时候就可以在某一个局域网里搭建一个 zabbix-proxy ,用这台 proxy 去监控局域网里的机器
zabbix-agent 客户端软件(每一台客户端都需要安装agent),负责采集各个监控服务或项目的数据,并上报
19.3/19.4/19.6 安装zabbix
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 zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
会连带安装httpd和php
如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql
vim /etc/my.cnf //需要增加配置
character_set_server = utf8
重启mysqld服务后,进入mysql命令行,创建zabbix库
create database zabbix character set utf8;
再创建用户
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-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
vim /etc/zabbix/zabbix_server.conf //修改或增加
DBHost=127.0.0.1 //在DBName=zabbix上面增加DBPassword=aming-zabbix //在DBuser下面增加
systemctl start zabbix-server
systemctl enable zabbix-server
netstat -lntp |grep zabbix //查看监听端口
浏览器访问http://ip/zabbix/ web界面下面配置zabbix
用户名Admin 密码zabbix
进入后台第一件事情就是修改密码
准备工作
两台机器,一台作为服务端(监控中心),另外一台作为它的客户端
背景
zabbix,可以直接yum安装,但需要安装epel扩展源,在epel扩展源里面安装的zabbix的版本,最高是2.2版本,比较旧,所以使用官方提供的repo源
这里实验使用的zabbix3.2版本
1.首先访问官网下载地址,选择对应的版本,并提供对应的发行版,然后选择download,跳转到一个界面,找到这个rpm包(包含release),也就是说yum源在这个里面,下图所示,复制该链接
2.在两台机器都需要下载它
A机器
[root@tianqi-01 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
B机器
[root@tianqi-02 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3.下载完之后,安装rpm包(实际上就是安装了一个yum源仓库)
A机器安装rpm包
[root@tianqi-01 ~]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
B机器安装rpm包
[root@tianqi-02 ~]# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
4.查看/etc/yum.repos.d/目录下面会看到增加了一个zabbix.repo
[root@tianqi-01 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo zabbix.repo
[root@tianqi-01 ~]# cat /etc/yum.repos.d/zabbix.repo
[zabbix]
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
[zabbix-non-supported]
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
[root@tianqi-01 ~]#
5.在有了这个zabbix.repo源之后,就可以yum安装zabbix了,并安装下面的包
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
zabbix-agent //客户端软件
zabbix-get //服务端用的一个工具,这个工具可以通过命令行的形式,获得客户端某些监控项目的数据
zabbix-server-mysql //这个是服务端跟mysql打交道相关的组件
zabbix-web //webUI ,web界面
zabbix-web-mysql //web和mysql相关组件
PS:在服务端是需要安装这些所有的包,而在客户端仅仅需要安装 zabbix-agent 包即可
A机器
[root@tianqi-01 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
B机器
[root@tianqi-02 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
6.zabbix 是基于php环境的,也就是说用的是php 的代码编写的web界面,也就说这个zabbix 相当于一个站点
7.安装mysql,如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql
当然yum安装mysql、或mariadb也可以
A机器(因为之前安装过mysql)
[root@tianqi-01 ~]# ps aux |grep mysql
root 1118 0.0 0.1 115392 1672 ? S 00:52 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysq/tianqi-01.pid
mysql 1283 0.0 45.7 1056068 457252 ? Sl 00:52 0:18 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/tianqi-01.err --pid-file=/data/mysql/tianqi-01.pid --socket=/tmp/mysql.sock
root 5221 0.0 0.0 112660 976 pts/0 R+ 14:02 0:00 grep --color=auto mysql
[root@tianqi-01 ~]#
8.修改mysql的配置文件,修改/etc/my.cnf文件,设定默认的字符集
A机器
在[mysqld]下增加
character_set_server = utf8
最终结果为
[root@tianqi-01 ~]# vim /etc/my.cnf
[mysqld]
character_set_server = utf8
datadir=/data/mysql
socket=/tmp/mysql.sock
server-id=130
log_bin=aminglinux1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d
保存退出
如果不设置字符集,那么zabbix的web界面,设置成中文的话,可能就会出现乱码
9.修改完mysql的配置文件后,重启mysql服务
/etc/init.d/mysqld restart
A机器
[root@tianqi-01 ~]# /etc/init.d/mysqld restart
Shutting down MySQL.. [ OK ]
Starting MySQL... [ OK ]
[root@tianqi-01 ~]#
10.重启mysqld服务后,进入mysql命令行(第一次进入mysql命令行),创建zabbix库,并指定编码为utf8
create database zabbix character set utf8;
A机器
[root@tianqi-01 ~]# mysql -uroot -paminglinux
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix character set utf8; //创建zabbix库,并指定编码为utf8
Query OK, 1 row affected (0.00 sec)
mysql>
11.再创建用户,这个用户是需要让web(php)代码连接mysql的,监控中心zabbix mysql服务启动的前提就是要连接mysql;客户端采集了数据,需要把这些数据传递给服务端,那么服务端怎么把这些数据写入到MySQL去,这时就涉及到了mysql 的用户,涉及到了mysql 的数据库;用哪一个用户,去查询或者写入哪一个库。在这个库里有相关的表,用户需要对这个库有读写的权限。
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
[root@tianqi-01 ~]#
12.退出mysql的命令行后,导入原始的数据,若缺少这些数据,zabbix就没有办法工作,就没有办法在web界面下展现给我们
zabbix-server-mysql-3.2.11 这块用tab键补全,有可能版本号不同
A机器
[root@tianqi-01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
[root@tianqi-01 zabbix-server-mysql-3.2.11]#
13.在/usr/share/doc/zabbix-server-mysql-3.2.11/目录下有一个create.sql.gz压缩包,将它解压,解压完之后生成了一个.sql的文件
[root@tianqi-01 zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql.gz NEWS README
[root@tianqi-01 zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz
[root@tianqi-01 zabbix-server-mysql-3.2.11]# ls
AUTHORS ChangeLog COPYING create.sql NEWS README
[root@tianqi-01 zabbix-server-mysql-3.2.11]#
14.然后拿到create.sql文件,将它导入到zabbix库里面去
A机器
[root@tianqi-01 zabbix-server-mysql-3.2.11]# mysql -uroot -paminglinux zabbix < create.sql
Warning: Using a password on the command line interface can be insecure.
[root@tianqi-01 zabbix-server-mysql-3.2.11]#
15.启动zabbix服务,启动zabbix报错
systemctl start zabbix-server
[root@tianqi-01 ~]# systemctl start zabbix-server
[root@tianqi-01 ~]#
16.启动httpd服务,在启动http服务之前,先查看nginx服务是否启动,若启动了nginx,就监听了80端口,就需要去停掉nginx服务,再去启动httpd服务
[root@tianqi-01 ~]# ps aux |grep nginx
root 921 0.0 0.1 45988 1184 ? Ss 00:52 0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody 927 0.0 0.3 48476 3808 ? S 00:52 0:00 nginx: worker process
nobody 928 0.0 0.3 48476 3820 ? S 00:52 0:00 nginx: worker process
root 5493 0.0 0.0 112660 976 pts/0 R+ 14:34 0:00 grep --color=auto nginx
[root@tianqi-01 ~]# /etc/init.d/nginx stop
Stopping nginx (via systemctl): [ OK ]
[root@tianqi-01 ~]# !ps
ps aux |grep nginx
root 5515 0.0 0.0 112660 976 pts/0 R+ 14:35 0:00 grep --color=auto nginx
[root@tianqi-01 ~]# 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 923/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 887/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1021/master
tcp 0 0 0.0.0.0:34939 0.0.0.0:* LISTEN 905/rpc.statd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:33129 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::20048 :::* LISTEN 923/rpc.mountd
tcp6 0 0 :::41106 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN 887/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1021/master
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::54114 :::* LISTEN 905/rpc.statd
tcp6 0 0 :::3306 :::* LISTEN 5438/mysqld
[root@tianqi-01 ~]# systemctl start httpd
[root@tianqi-01 ~]# 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 923/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 887/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1021/master
tcp 0 0 0.0.0.0:34939 0.0.0.0:* LISTEN 905/rpc.statd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:33129 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 5523/httpd
tcp6 0 0 :::20048 :::* LISTEN 923/rpc.mountd
tcp6 0 0 :::41106 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN 887/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1021/master
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::54114 :::* LISTEN 905/rpc.statd
tcp6 0 0 :::3306 :::* LISTEN 5438/mysqld
[root@tianqi-01 ~]#
这时就发现httpd服务监听了80端口
17.若需要开机启动httpd服务和zabbix服务,则需要将它加入到服务的列表中去
[root@tianqi-01 ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@tianqi-01 ~]# 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.
[root@tianqi-01 ~]#
若nginx设置了开机启动,则需要取消开机启动
systemctl disable nginx
chkconfig nginx off
[root@tianqi-01 ~]# systemctl disable nginx
nginx.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig nginx off
[root@tianqi-01 ~]# chkconfig nginx off
[root@tianqi-01 ~]#
18.查看zabbix服务进程
[root@tianqi-01 ~]# ps aux |grep zabbix
zabbix 5490 0.0 0.3 254580 3488 ? S 14:33 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
root 5639 0.0 0.0 112660 976 pts/0 R+ 14:41 0:00 grep --color=auto zabbix
[root@tianqi-01 ~]#
19.查看zabbix监听的端口
[root@tianqi-01 ~]# 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 923/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 887/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1021/master
tcp 0 0 0.0.0.0:34939 0.0.0.0:* LISTEN 905/rpc.statd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:33129 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 5523/httpd
tcp6 0 0 :::20048 :::* LISTEN 923/rpc.mountd
tcp6 0 0 :::41106 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN 887/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1021/master
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::54114 :::* LISTEN 905/rpc.statd
tcp6 0 0 :::3306 :::* LISTEN 5438/mysqld
[root@tianqi-01 ~]#
错误:
这里看到服务启动了,但并没有zabbix监听的端口
20.查看zabbix并没有监听端口后,首先检查zabbix的错误日志,错误日志路径/var/log/zabbix/zabbix_server.log
[root@tianqi-01 ~]# tail /var/log/zabbix/zabbix_server.log
5490:20180417:144347.378 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
5490:20180417:144347.378 database is down: reconnecting in 10 seconds
5490:20180417:144357.379 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
5490:20180417:144357.379 database is down: reconnecting in 10 seconds
5490:20180417:144407.380 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
5490:20180417:144407.380 database is down: reconnecting in 10 seconds
5490:20180417:144417.381 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
5490:20180417:144417.381 database is down: reconnecting in 10 seconds
5490:20180417:144427.385 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
5490:20180417:144427.385 database is down: reconnecting in 10 seconds
[root@tianqi-01 ~]#
虽然zabbix服务有进程,但没有彻底的起来,说明不能够连接mysql,所以还需要更改zabbix的配置文件
21.更改zabbix的配置文件,配置文件为/etc/zabbix/zabbix_server.conf
A机器
[root@tianqi-01 ~]# vim /etc/zabbix/zabbix_server.conf
搜索/DBHost
在DBName=zabbix上面增加 DBHost=127.0.0.1
在DBuser下面增加 DBPassword=hanfeng-zabbix
保存退出
结果如下:
# DBHost=localhost
DBHost=127.0.0.1
### Option: DBName
# Database name.
# For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
#
# Mandatory: yes
# Default:
# DBName=
DBName=zabbix
### Option: DBSchema
# Schema name. Used for IBM DB2 and PostgreSQL.
#
# Mandatory: no
# Default:
# DBSchema=
### Option: DBUser
# Database user. Ignored for SQLite.
#
# Mandatory: no
# Default:
# DBUser=
DBUser=zabbix
DBPassword=aming-zabbix
因为mysql和zabbix装在同一台机器上,这里的 DBHost可以写localhost 或者127.0.0.1;如果是在生产环境上,有时候为了提升zabbix的性能,可能会把MySQL装在其他机器上,这是的DBHost,就需要写上mysql的ip
22.更改完zabbix配置文件,就可以启动zabbix服务了,因为之前启动了zabbix服务,这里只需restart重启下即可
[root@tianqi-01 ~]# systemctl restart zabbix-server
[root@tianqi-01 ~]#
23.这时再来查看下zabbix进程,有29个(正常情况下,都是这么多进程)
[root@tianqi-01 ~]# ps aux |grep zabbix |wc -l
29
[root@tianqi-01 ~]#
24.查看监听的端口,zabbix监听的端口为10051端口
[root@tianqi-01 ~]# netstat -lntp |grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 5658/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 5658/zabbix_server
[root@tianqi-01 ~]#
25.接下来就是配置web界面了(需要关闭防火墙和规则,否则浏览器无法访问)
在浏览器输入IP地址(即监控中心的IP地址),如192.168.23.130/zabbix 去访问
很多人会有疑问,仅仅启动了httpd 服务,没有去做任何的配置,因为yum安装zabbix,它默认安装httpd 及它的配置文件,一切都会帮你配置好了
26.再打开zabbix界面后,点击 Next step ,会出现一个提示,出现OK的都不用管,会看到提示需要去设置php的timezone时区,如下图
27.设置php的timezone时区,在php的配置文件中设置,默认php的配置文件在/etc/php.ini 里面
A机器
[root@tianqi-01 ~]# vim /etc/php.ini
搜索 /timezone
将 ;date.timezone 改为如下
date.timezone = Asia/Shanghai
保存退出
28.在定义完php的配置文件,还需要重启apache
[root@tianqi-01 ~]# systemctl restart httpd
[root@tianqi-01 ~]#
29.这时再来刷新浏览器,会发现都变成OK了
30.这时再来 Next step ,来配置数据库相关信息
host :MySQL所在机器IP
port:0为默认端口3306,如果有改动就修改
name:库的名字
user:库的用户
password:用户的密码(aming-zabbix)
31.然后再选择Next step ,配置站点名字相关
host:站点主机名
port:端口,如果有改动就改,没改动,默认就是10051
name:站点的名字,你喜欢就好
32.配置完成后会有一个信息显示,如果配置错误,可以back返回上一步重新修改
33.安装成功后,会有提示界面,如下图
34.登录管理页,默认的账号是Admin,密码为zabbix
35.在登录进zabbix之后,首先需要去更改密码(因为默认的密码大家都知道的),若是在线上环境不更改密码,很容易被别人拿到后台权限
更改密码,先选择 Administration ,然后选择 Users
选择Update,出现以下画面(a7)
刷新一下,出现中文的画面
这时再退出zabbix,再重新进入下,使用新的密码,会看到重新进入了,这就是zabbix的web界面了
在客户端上也需要下载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 //修改如下配置
Server=127.0.0.1修改为Server=192.168.133.130 //定义服务端的ip(被动模式) ServerActive=127.0.0.1修改为ServerActive=192.168.133.130 //定义服务端的ip(主动模式) Hostname=Zabbix server修改为Hostname=aming-123 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
systemctl start zabbix-agent
systemctl enable zabbix-agent
1.首先客户端下载
B机器
[root@tianqi-02 ~]# wget wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2.下载完之后,安装rpm包(实际上就是安装了一个yum源仓库)
B机器
[root@tianqi-02 ~]#rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
3.客户端,编辑zabbix的配置文件,文件为/etc/zabbix/zabbix_agentd.conf
[root@tianqi-02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.23.130
# 定义服务端的ip(被动模式)
ServerActive=192.168.23.130
#定义服务端的ip(主动模式)
#这个涉及到一个主动和被动模式;如果这里不填写服务中心的IP,那么就只能使用被动模式;这个IP是主动模式时候用的
Hostname=Zabbix server修改为Hostname=aming-02
#这是自定义的主机名,一会还需要在web界面下设置同样的主机名
保存退出
4.启动zabbix服务
[root@tianqi-02 ~]# systemctl start zabbix-agent
[root@tianqi-02 ~]#
5.客户端查看zabbix服务,监听的端口,客户端监听的端口是10050
[root@tianqi-02 ~]# ps aux |grep zabbix
zabbix 7822 0.0 0.1 82756 1248 ? S 03:05 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix 7823 0.0 0.1 82756 1284 ? S 03:05 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 7824 0.0 0.1 82756 1800 ? S 03:05 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 7825 0.0 0.1 82756 1796 ? S 03:05 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 7826 0.0 0.1 82756 1796 ? S 03:05 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 7827 0.0 0.2 82888 2168 ? S 03:05 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 7829 0.0 0.0 112644 952 pts/2 R+ 03:06 0:00 grep --color=auto zabbix
[root@tianqi-02 ~]# 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 5501/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 966/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2065/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7822/zabbix_agentd
tcp6 0 0 :::3306 :::* LISTEN 5203/mysqld
tcp6 0 0 :::80 :::* LISTEN 5501/nginx: master
tcp6 0 0 :::22 :::* LISTEN 966/sshd
tcp6 0 0 ::1:25 :::* LISTEN 2065/master
tcp6 0 0 :::10050 :::* LISTEN 7822/zabbix_agentd
[root@tianqi-02 ~]#
6.将zabbix加入到启动列表里面,让它开机启动
systemctl enable zabbix-agent
[root@tianqi-02 ~]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@tianqi-02 ~]#
7.这样客户端的zabbix就配置完成
19.5 忘记Admin密码如何做
进入mysql命令行,选择zabbix库
mysql -uroot -p zabbix
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
这样就更改了Admin用户的密码
有时因为时间长了,zabbix管理员账号密码给忘记了
解决办法:
重置zabbix密码,就是直接更改数据库里的数据即可
1.首先进入到mysql命令行里面
[root@tianqi-01 ~]# mysql -uroot -paminglinux
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 232
Server version: 5.6.35-log MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
2.使用zabbix库
mysql> use zabbix
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
3.查看zabbix相关的表,以后服务器监控的主机越多,那么这些表会越来越大,所以需要去指定合适的监控策略
比如说:数据量需要保存多长时间,那么在定义这个监控项目的时候就该想到,要保留1个月还是1年,还是其他时间;
比如,监控的站点服务量很大的话,一天就要涨好几个G,那么你的服务器磁盘能支持保存多长时间;
mysql> show tables;
4.zabbix的密码,默认存放的表是users里面
5.查看users表
desc users;
mysql> desc users;
+----------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+-------+
| userid | bigint(20) unsigned | NO | PRI | NULL | |
| alias | varchar(100) | NO | UNI | | |
| name | varchar(100) | NO | | | |
| surname | varchar(100) | NO | | | |
| passwd | char(32) | NO | | | |
| url | varchar(255) | NO | | | |
| autologin | int(11) | NO | | 0 | |
| autologout | int(11) | NO | | 900 | |
| lang | varchar(5) | NO | | en_GB | |
| refresh | int(11) | NO | | 30 | |
| type | int(11) | NO | | 1 | |
| theme | varchar(128) | NO | | default | |
| attempt_failed | int(11) | NO | | 0 | |
| attempt_ip | varchar(39) | NO | | | |
| attempt_clock | int(11) | NO | | 0 | |
| rows_per_page | int(11) | NO | | 50 | |
+----------------+---------------------+------+-----+---------+-------+
16 rows in set (0.00 sec)
mysql>
需要修改的就是passwd的表
6.修改密码
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
mysql> update users set passwd=md5('lishiming1') where alias='Admin';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql>
7.查看表的情况
select * from users\G;
mysql> select * from users\G;
*************************** 1. row ***************************
userid: 1
alias: Admin
name: Zabbix
surname: Administrator
passwd: 148308853a00bdc6ed461689d4c72649
url:
autologin: 1
autologout: 0
lang: zh_CN
refresh: 30
type: 3
theme: default
attempt_failed: 0
attempt_ip: 192.168.23.1
attempt_clock: 1523949568
rows_per_page: 50
*************************** 2. row ***************************
userid: 2
alias: guest
name:
surname:
passwd: d41d8cd98f00b204e9800998ecf8427e
url:
autologin: 0
autologout: 900
lang: en_GB
refresh: 30
type: 1
theme: default
attempt_failed: 0
attempt_ip:
attempt_clock: 0
rows_per_page: 50
2 rows in set (0.00 sec)
ERROR:
No query specified
mysql> quit
Bye
[root@tianqi-01 ~]#
8.修改以后就可以去尝试用新密码登录zabbix了,这就是重置zabbix管理员密码
友情链接:http://www.apelearn.com阿铭linux
标签:linux
原文地址:http://blog.51cto.com/13184900/2104464