搭建zabbix并分离

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 搭建zabbix并分离

理论部分

1. 监控知识概述

(1)对系统不间断的实时监控

(2)实时反馈系统和服务状态

(3)保证系统和服务可靠、安全

(4)保证业务持续稳定运行

实时  反馈  可靠  安全

2. 怎么进行监控,比如:监控硬盘使用率

(1)查看磁盘使用率:df -hi

(2)分析磁盘:block、inode

(3)截取磁盘使用率: df -h | grep /$ |awk '{print $(NF-1)}' |awk -F% '{print $1}'

(4)设置触发器:>=80

3. 流行的监控工具

(1)cacti、nagios、zabbix

(2)lepus(天兔)数据库监控系统

(3)open-falcon 小米开源

(4)Prometheus普罗米修斯(docker k8s)

4. 新入职公司,如何入手监控

(1)硬件、路由器、交换机、防火墙

(2)系统监控:cpu  内存  磁盘  网络 进程  tcp(占比,乘以100除于总量)

(3)服务监控:nginx  php  tomcat redis  memcache  mysql

(4)web监控: 请求时间   响应时间   加载时间

(5)日志监控:ELK(收集、存储、分析、展示)  日志易

(6)业务监控:活动引入流量  产生的注册量  带来多少价值

5. 监控核心

(1)发现问题

(2)定位问题

(3)解决问题

(4)总结问题

6. 基础概念

       什么是监控项、应用集、触发器?

       监控项就是我们要使用zabbix监控主机什么内容,比如监控某台主机还剩余多少内存。

       同一类型的监控项可按照作用的不同进行分类,比如将监控内存剩余量的多少和监控已经用了多少内存都放在内存这一类型里面,zabbix将这种种类称之为应用集。

       我们只监控没有用呀,到达我们限定的某个值之后就要进行报警,这就要求我们定义触发器。触发器一定是在监控项的基础上进行定义的,比如当内存的用量超过百分之八十之后就要进行报警,百分之八十就是一个阈值,这个阈值要定义在触发器里面,一旦触发之后,就会执行动作进行报警。

7. 单机监控命令

(1)CPU:w   top   htop   glances

(2)内存:free

        避免:OOM,全称“Out Of Memory” 现象

(3)网络:ifconfig  route  glances  iftop  netstat

(4)硬盘:df  iostat

实验部分

       实验目标:搭建zabbix监控系统,实现监控linux服务器功能。部署后分离mariadb实现分离zabbix。

拓扑图如下:

安装zabbix

1. 安装zabbix源:

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (阿里源)

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm  (官方源)

rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm (国内清华源)

新版本:

https://mirrors.aliyun.com/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm

本案例使用rpm安装,如yum安装使用此命令:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

2. 安装zabbix服务端软件

1. [root@zabbix_server ~]# rpm -ivh /media/zabbix-server/* --nodeps --force
2. 
3. [root@zabbix_server ~]# modprobe ipmi_devintf         //rpm安装缺少模块,加载两项模块
4. 
5. [root@zabbix_server ~]# modprobe ipmi_msghandler

3. 启动数据库,建立数据库及用户

1. [root@zabbix_server ~]# systemctl start mariadb
2. 
3. [root@zabbix_server ~]# systemctl enable mariadb
4. 
5. [root@zabbix_server ~]# mysqladmin -uroot password
6. 
7. [root@zabbix_server ~]# mysql -uroot -p123
8. 
9. //省略部分内容
10. 
11. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
12. Query OK, 1 row affected (0.01 sec)
13. 
14. 
15. MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
16. Query OK, 0 rows affected (0.00 sec)
17. 
18. 
19. MariaDB [(none)]> exit
20. Bye

       导入zabbix初始化数据

[root@zabbix_server ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.22/create.sql.gz |mysql -uzabbix -pzabbix zabbix

4. 修改zabbix配置文件

1. [root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf
2. 
3. DBPassword=zabbix                 //修改此行,删除注释添加数据库密码
4. 
5. [root@zabbix_server ~]# systemctl start zabbix-server
6. 
7. [root@zabbix_server ~]# systemctl enable zabbix-server

5. 修改时区

       修改配置文件,定位到20行修改为上海。

1. [root@zabbix_server ~]# vim /etc/httpd/conf.d/zabbix.conf
2. 
3.         php_value date.timezone Asia/Shanghai
4. 
5. [root@zabbix_server ~]# systemctl restart httpd
6. 
7. [root@zabbix_server ~]# systemctl enable httpd

部署zabbix

       通过浏览器访问http://192.168.1.5/zabbix ,部署zabbix点击"Next step"下一步,确认当前页ok再次点击"Next step"下一步,输入数据库用户密码后,全部点击下一步即可到达登录界面。默认用户:Admin,密码:zabbix

       登录后即可查看监控首页。

配置zabbix

1. 修改语言

       首次安装的zabbix一般为英文,下面将修改为中文界面。

       再次查看后就成为中文首页了。

2. 监控linux端

(1)再次打开一台linux服务器,测试zabbix监控。

yum安装方式:

rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

本次使用rpm安装

1. [root@node1 ~]# rpm -ivh /media/zabbix-server/zabbix-agent-4.0.22-1.el7.x86_64.rpm --nodeps --force
2. 
3. [root@node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
4. 
5. Server=192.168.1.5         //找到Server字段,指向zabbix服务器。
6. 
7. [root@node1 ~]# systemctl start zabbix-agent
8. 
9. [root@node1 ~]# systemctl enable zabbix-agent

(2)web页面配置

       配置→主机→创建主机→指定主机名称→指定群组→代理服务器IP(被监控端IP)→添加。

       完成后即可看到添加的主机,但是此时还需要添加模板用来识别主机类型等。

        点击配置→主机→模板→添加模板→添加(小字体)→更新。

       经过上方配置已经可以看到主机的可用性ZBX为启用状态。

(3)修改中文乱码

       点击监测→图形→选择群组→主机→监控类型,就可以看到当前被监控端的信息,但是可以看到下方数据有乱码现象,需要在zabbix服务器安装字体包。

1. [root@zabbix_server ~]# yum -y install wqy-microhei-fonts
2. 
3. [root@zabbix_server ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

       选择覆盖原字体。

       现在登录zabbix的web页面将正常显示中文字体。

 

分离zabbix

       通过上面的配置已经完成了zabbix的基本配置,但是生产环境中常常会把zabbix单独装一个服务器中监控成千上万台设备,下面将进行zabbix的分离操作。

1. 打开一台服务器安装mariadb。

1. [root@zabbix_mariadb ~]# yum -y install mariadb-server
2. [root@zabbix_mariadb ~]# systemctl start mariadb
3. [root@zabbix_mariadb ~]# systemctl enable mariadb
4. [root@zabbix_mariadb ~]# mysqladmin -uroot password
5. New password:
6. Confirm new password:
7. [root@zabbix_mariadb ~]# mysql -uroot -p123
8. 
9. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
10. Query OK, 1 row affected (0.00 sec)
11. 
12. MariaDB [(none)]> grant all on zabbix.* to zabbix@'%' identified by '123.com';
13. Query OK, 0 rows affected (0.00 sec)

2. 主服务器上备份数据库内容,并发送到1.7服务器。

1. [root@zabbix_server ~]# mysqldump -uroot -p123 --databases zabbix > zabbix.sql
2. 
3. [root@zabbix_server ~]# cat zabbix.sql | mysql -h 192.168.1.7 -uzabbix -p123.com zabbix

3. 修改zabbix-server上的数据库连接信息

1. [root@zabbix_server ~]# vim /etc/zabbix/zabbix_server.conf
2. 下面信息修改数据库IP和数据库密码即可。
3. DBHost=192.168.1.7
4. DBName=zabbix
5. DBUser=zabbix
6. DBPassword=123.com
7. 
8. [root@zabbix_server ~]# vim /etc/zabbix/web/zabbix.conf.php
9. 下面信息修改数据库IP和数据库密码即可。
10. $DB['TYPE']     = 'MYSQL';
11. $DB['SERVER']   = '192.168.1.7';
12. $DB['PORT']     = '0';
13. $DB['DATABASE'] = 'zabbix';
14. $DB['USER']     = 'zabbix';
15. $DB['PASSWORD'] = '123.com';
16. [root@zabbix_server ~]# systemctl restart zabbix-server httpd

       重启服务访后问web页面,正常访问。

 


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
存储 缓存 监控
zabbix的架构是怎么样的?
zabbix的架构是怎么样的?
78 1
|
域名解析 网络协议 关系型数据库
|
关系型数据库 Java MySQL
搭建LNMP实现分离(一)
搭建LNMP实现分离
109 0
|
监控 关系型数据库 MySQL
zabbix部署【各模块详细介绍】(二)
zabbix部署【各模块详细介绍】
154 0
|
监控 前端开发 关系型数据库
zabbix部署【各模块详细介绍】(一)
zabbix部署【各模块详细介绍】
313 0
|
监控 关系型数据库 MySQL
zabbix部署【各模块详细介绍】(三)
zabbix部署【各模块详细介绍】
151 0
|
SQL 前端开发 Apache
【架构】LAMP架构搭建
文章目录 前言 一、组成 二、前端(网页服务) 2.1 Apache搭建(编译
197 0
|
关系型数据库 MySQL 应用服务中间件
分离部署lnmp架构
分离部署lnmp架构
144 0
分离部署lnmp架构
|
运维 监控 前端开发
Zabbix监控系统架构原理(一)
zabbix架构及部署 我们这次先安装再进行介绍zabbix 1.什么是监控 监控:监视,控制 随着用户的增量,服务随时可能被系统oom,所谓oom就是out of memory,当系统的负载到达一定程度,内存使用率使用殆尽,就会触发这种情况,触发oom后系统会kill掉内存使用率最高的进程,服务随之崩溃,omm会触发kernel,kernel为了保障服务器正常运行,会把使用最高的进程kill
394 0
Zabbix监控系统架构原理(一)
|
存储 监控
3000台服务器,Zabbix监控的配置和架构应该是怎么样的?
主备环境 基于master-node-client架构,按照不同域间可追加多个代理,基本系统要求如下:  1.31数据库方面两台MySQLl都可读写,互为主备,可使用一台MySQLl1负责数据的读取,MySQLl2用于写数据; MySQLl1是MySQLl2的主库,MySQLl2又是MySQLl.
2267 0