返回顶部

欢迎来到菜鸟大明儿哥的博客

我们一起交流学习,不断提升自我

Centos7.5 部署Zabbix 3.4(1)---Zabbix、PHP、Mysql部署

  Zabbix是完全开源的软件,是用C语言写的,只发社区版。

  Zabbix由server和可选组件agent两部分构成。可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器、网络状态的监视、数据收集等功能,它可以运行在Linux、Solaris、HP-UX、AIX、FreeBSD、OpenBSD、OS X等平台上。

  Salestack  应用自动化部署

   Anshable

   Cacti+nagios(状态变化做报警)  200-300台

 

一、监控模块

  

1.数据采集

snmp简单网络管理协议  版本V1(明文传输)、V2(明文传输)、V3

ssh  sshd远程连接到服务器,执行脚本  再发回来

 

2.数据存储  cacti早期用的rrdb  轮转数据  监控前声明保存时间,无法修改

3.数据展示及分析  web界面提供

4.数据报警及分析  报警无效之后报警升级

 

Zabbix  整个架构最大支持10万台  单机五万台理论数据  一般1万台左右。

 

二、3种采集方式

Agent : 专用代理  软件到软件的传输   加密传输。可以监控应用 甚至可以监控到多少用户登录 监控点细

Snmp : 监控网络设备

采集器 :主动模式 -不是只能用模版提供的标准检测器方式

 

三、监控数据存储媒介

RDBMS:Oracle(成本较高)、Mysql、SQLServer、PGSQL

数据展示及分析  安装Apache Nginx

 

四、相关rpm包

 

zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。

 

zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和php,mysql等之间的依赖关系。

 

zabbix-web-mysql:这个是zabbix前段支持mysql的

 

zabbix-java-gateway:用于监控JMX应用的程序,它把收集到的信息发送个(这个看需求安装)

 

 

监控端

  zabbix-server

 

       Zabbix-server-mysql    

 

apache

 

                   Zabbix-web

 

                   Zabbix-web-mysql

 

                   Zabbix(核心包)

 

                   Zabbix-get   zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装)

 

                   Sendmail(无法进行密码验证)  mailx命令发邮件

 

                   依赖包

 

       也可以安装 agent  监控监控服务器状态 

 

被监控端

     zabbix-agent   zabbix客户端,用来收集客户端各种参数

 

                   Zabbix(核心包)

 

                   Zabbix-sender

 

服务器端Zabbix_get  手动测试抓取数据命令工具

被监控端 zabbix-sender 用于采集数据发送数据给server或者proxy。

Zabbix-proxy  zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现了集中式、分布式监控。

3.4以上版本  PHP版本至少是5.4

rpm –Uvh  软件升级

 tar –xzf php5.6.31.tar.gz

 

systemctl stop firewalld

systemctl stop NetworkManager

 

五、部署Mysql数据库主从

1.配置yum

vim /etc/yum.repos.d/yum.repo

编辑内容

[zabbix3.4]

name=zabbixserver

enabled=1

gpgcheck=0     

baseurl=file:///mnt/cdrom

保存退出

挂载光盘 mount /dev/cdrom /mnt/cdrom

可以在/etc/fstab设置自动挂载

/dev/cdrom /mnt/cdrom auto exec 0 0

 

yum clean all

yum repolist 查看是否挂在成功

 

2.搭建Mysql5.7

安装相关依赖包

yum -y groupinstall "Development tools"

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make

 

解压Mysql的tar包

tar -xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

 

复制相关目录

复制解压后的mysql到mysqlbase目录

cp -rf mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql

创建用户

useradd mysql

创建数据目录

mkdir -p  /home/mysql3306/mysql3306

创建日志目录

mkdir -p /home/mysql3306/logs

修改相关目录权限

chown mysql:mysql -R /home/mysql3306

chown mysql:mysql -R /usr/local/mysql

配置文件

cp my3306.cnf /etc/my3306.cnf

 

初始化mysql

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my3306.cnf --initialize-insecure --explicit_defaults_for_timestamp --basedir=/usr/local/mysql --datadir=/home/mysql3306/mysql3306/ --user=mysql

 

启动MySQL

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my3306.cnf --datadir=/home/mysql3306/mysql3306/ --user=mysql &

 

进入MYSQL

/usr/local/mysql/bin/mysql  -S /tmp/mysql3306.sock

 

SQL>

select user,host,authentication_string from mysql.user;

update mysql.user set authentication_string=password('root') where user='root';

delete from mysql.user where host='::1';

delete from mysql.user where user='';

flush privileges;

 

启动MySQL

/usr/local/mysql/bin/mysqld_safe  --defaults-file=/etc/my3306.cnf --datadir=/home/mysql3306/mysql3306/ --user=mysql &

 

 

 

 

 

 

创建主库同步用户

 

grant REPLICATION CLIENT,REPLICATION SLAVE on *.* to rep@'%' identified by 'monitor';

 

grant all on *.* to rep@’%’ identified by ‘monitor’

 

 

 

查看主库服务器状态

 

show master status

 

 

主库加锁  防止变化

Flush tables with read lock;

 

从库设置同步主库

change master to master_host='10.2.2.21',master_user='rep',master_password='aimer',master_log_file='mysql-bin.000002',master_log_pos=1207,MASTER_PORT=3306;

 

show slave status\G

 

看到最下面两个yes  主从配置成功

 

六、部署zabbix server

1.操作系统版本

[root@aws zabbix]# cat /etc/centos-release 

CentOS Linux release 7.5.1804 (Core)

 

Vi /etc/resolv.conf

Nameserver 8.8.8.8 

 

cd /etc/yum.repos.d

wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm 

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

[root@aws yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

2.在安装zabbix的时候报错(红色是执行的语句),如下:

  1. yum install zabbix-server-mysql zabbix-web-mysql

  2.  
  3. --> Finished Dependency Resolution
  4. Error: Package: zabbix-web-3.4.7-1.el7.noarch (zabbix)
  5.            Requires: php-bcmath
  6. Error: Package: zabbix-web-3.4.7-1.el7.noarch (zabbix)
  7.            Requires: php-mbstring
  8.  You could try using --skip-broken to work around the problem
  9.  You could try running: rpm -Va --nofiles --nodigest

3.这两个模块的yum源比较少,在网上发现163的yum源包含它们,那么就需要替换yum源,步骤如下:

vim  CentOS7-Base-163.repo

  1. # CentOS-Base.repo

  2. #
  3. # The mirror system uses the connecting IP address of the client and the
  4. # update status of each mirror to pick mirrors that are updated to and
  5. # geographically close to the client. You should use this for CentOS updates
  6. # unless you are manually picking other mirrors.
  7. #
  8. # If the mirrorlist= does not work for you, as a fall back you can try the
  9. # remarked out baseurl= line instead.

10. #

11. #

12. [base]

13. name=CentOS-$releasever - Base - 163.com

14. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

15. #baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

16. baseurl=http://mirrors.163.com/centos/7/os/x86_64/

17. gpgcheck=1

18. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

  1. 19.  

20. #released updates

21. [updates]

22. name=CentOS-$releasever - Updates - 163.com

23. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

24. #baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/

25. baseurl=http://mirrors.163.com/centos/7/updates/x86_64/

26. gpgcheck=1

27. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

  1. 28.  

29. #additional packages that may be useful

30. [extras]

31. name=CentOS-$releasever - Extras - 163.com

32. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

33. #baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/

34. baseurl=http://mirrors.163.com/centos/7/extras/x86_64/

35. gpgcheck=1

36. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

37.  

38. #additional packages that extend functionality of existing packages

39. [centosplus]

40. name=CentOS-$releasever - Plus - 163.com

41. #baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/

42. gpgcheck=1

43. enabled=0

44. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

 

yum clean all

yum makecache

 

yum install zabbix-get zabbix-sender zabbix-server-mysql  zabbix-web-mysql  zabbix-agent

 

生成快照updatedb

查找create.sql文件位置

[root@localhost ~]# locate create.sql
/usr/share/doc/zabbix-server-mysql-3.4.9/create.sql.gz

 

7、切换到zabbix-server目录

[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.9/
8、查看目录下文件详细信息

[root@localhost zabbix-server-mysql-3.4.9]# ll -h

total 2.1M

-rw-r--r-- 1 root root   98 May  9 17:57 AUTHORS

-rw-r--r-- 1 root root 822K May  9 17:57 ChangeLog

-rw-r--r-- 1 root root  18K May  9 17:57 COPYING

-rw-r--r-- 1 root root 1.3M May  9 18:01 create.sql.gz

-rw-r--r-- 1 root root   52 May  9 17:57 NEWS

-rw-r--r-- 1 root root  188 May  9 17:57 README

9、解压create.sql.gz这个文件:

[root@localhost zabbix-server-mysql-3.4.9]# gunzip create.sql.gz 

10、把这个create.sql导入到数据库中,时间可能稍微有些长,多等一会。

[root@localhost zabbix-server-mysql-3.4.9]# mysql -uzabbix -p zabbix < create.sql

11、查找这个mysql.sock文件路径,记下来,一会要用到:

[root@localhost zabbix-server-mysql-3.4.9]# locate mysql3306.sock
/tmp/mysql3306.sock

 

安装php5.6.31

执行【  yum install -y  gcc gcc-c++ openssl openssl-devel libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel gd bzip2 bzip2-devel curl curl-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel】

开始安装了,漫长的过程.....总下载量61M.

 

./configure --prefix=/usr/local/php5.6.31/

make

make install

rpm -ql查看是否安装成功

 

 

 

 配置主配置文件

vi  /etc/zabbix/zabbix_server.conf

 

监听端口10051

日志文件路径

LogFile=/var/log/zabbix/zabbix_server.log

pid文件路径

pidfile=/var/run/zabbix/zabbix_server.pid

 

DBHost=localhost  #mysql的ip地址

 

如果mysql和zabbix server是同一台机器,IP地址写本机IP或127.0.0.1

 

 

 

 

 

 保存退出

Server配置完成

 

 

登录数据库配置

 

 

 

mysql –S /tmp/mysql3306.sock              #登陆数据库

create database zabbix character set utf8 collate utf8_bin;   #创建zabbix数据库

grant all on zabbix.* to monitor@'%' identified by 'monitor';  #授权

flush  privileges;

show processlist;    查看当前用户信息

 

 

 

 数据库中操作完成

 

七、配置web页面

查看apche是否安装

rpm –ql httpd

 

启动apche服务

systemctl start httpd 

 

出现此报错:ip反解析主机名错误

vim /etc/httpd/conf/httpd.conf

ServerName 注释打开  改成本机地址

 

浏览器中打开http://10.2.2.22

看到测试页说明Apache正常工作 但页面是apche的欢迎页面

rpm –ql  zabbix-web

 

 

 

查看子配置文件zabbix.conf

vim /etc/httpd/conf.d/zabbix.conf

 

Alias  /zabbix  /usr/share/zabbix   定义别名路径

访问web输入  ip地址/zabbix

http://10.2.2.22/zabbix

 

此红色报错为时区不一致

vim /etc/php.ini 修改时区

946行  date.timezone=Asia/Shanghai

重启apache服务生效

systemctl restart httpd 

 

设置支持中文字体

一般会发现web页面下的中文会出现小方框乱码

1.进入web根目录下的fonts目录,将windows的宋体字体 导入simsun.ttf

 

2.编辑zabbix字体定义文件

[root@zabbix ~]# vim /usr/share/zabbix/include/defines.inc.php

 

 

 

 或者执行以下替换命令: sed -i 's/graphfont/simkai/g' /usr/share/zabbix/include/defines.inc.php

 

 

 

 

都是ok  点下一步

 

 

先点 test connection  显示ok

 

 

 

 

 

 

 

点击 finish完成

vim /etc/zabbix/web/zabbix.conf.php

内容保存到此文件中,后期有配置的修改,改此文件即可

初始密码用户名Admin   密码zabbix

 

访问之前先启动 zabbix server

systemctl start zabbix-server

 

如果出现zabbix web菜单无法点击

chmod  777 /var/lib/php/session/ 

 

zabbix主页面

 

 

 

 

 

 

 guest用户禁用

 

 

 

 

节点2安装  zabbix-proxy

 

vi/etc/zabbix/zabbix-proxy.conf

 

Server=10.2.2.22    #同步指向的server端的IP,非本地IP。可以是server端的主机域名,但要确保proxy端解析server的域名,并且网络可达

Hostname=monitor2  #proxy本地的名称,此名称需要与将来在server端的WEB页面上的代理程序名称一致,名称自定义

DBHost=10.2.2.22           #与上面配置对应

DBName=zabbix   #与上面配置对应

DBUser=monitor               #与上面配置对应

DBPassword=monitor   #与上面配置对应

DBPort=3306                      #与上面配置对应 -

 

Systemctl start zabbix-proxy

致此,系统级proxy安装设置完成。回到server 端WEB页面添加代理机。如下。

管理-àagent代理程序à创建代理

 

 

 

*代理名称要与上面HOSTNAME名称一致

 

 

 

 

 

 

之后添加的主机可以选择monitor2 代理服务器

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-11-14 15:52  菜鸟大明儿哥  阅读(700)  评论(0编辑  收藏  举报