搭建zabbix并分离

简介: 搭建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页面,正常访问。

 


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
分布式计算 大数据 Apache
【大数据技术】流数据、流计算、Spark Streaming、DStream的讲解(图文解释 超详细)
【大数据技术】流数据、流计算、Spark Streaming、DStream的讲解(图文解释 超详细)
757 0
|
5月前
|
人工智能 自然语言处理 搜索推荐
AI赋能教育与阿里云通义千问的结合
本简介介绍了AI技术如何赋能教育行业,结合阿里云“通义千问”大模型,助力海豚大数据及人工智能实验平台实现个性化教学、智能答疑与资源优化,推动高校与企业人才培养模式革新,构建终身学习生态体系。
400 1
|
9月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
637 30
|
存储 关系型数据库 MySQL
CentOS上安装MySQL 8.0的详细教程
CentOS上安装MySQL 8.0的详细教程
5927 0
|
存储 监控 Linux
在Linux中,列出几种常用的Linux备份工具并说明各自的适用场景。
在Linux中,列出几种常用的Linux备份工具并说明各自的适用场景。
|
调度 开发者
深入理解:进程与线程的本质差异
在操作系统和计算机编程领域,进程和线程是两个核心概念。它们在程序执行和资源管理中扮演着至关重要的角色。本文将深入探讨进程与线程的区别,并分析它们在现代软件开发中的应用和重要性。
365 5
ly~
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
1023 2
|
安全 关系型数据库 MySQL
Mysql 8.0 安装和使用遇到的各种问题(持续更新)
MySQL 8.0 安装到 服务器时,遇到的一些问题;安装、远程访问、密码编码格式不对、大小写区分、密码重置、修改密码 等操作
|
设计模式 消息中间件 存储
18个并发场景的设计模式详解,有没有你的盲区
这些模式在多线程并发编程中非常有用`。在分布式应用中,并发场景无处不在,理解和掌握这些并发模式的编码技巧,有助于我们在开发中解决很多问题,这要把这些与23种设计模式混淆了,虽然像单例模式是同一个,但这个是考虑并发场景下的应用。内容比较多,V哥建议可以收藏起来,即用好查。拜拜了您誒,晚安。
494 1
18个并发场景的设计模式详解,有没有你的盲区