网络运维Day14

news2024/12/23 5:23:10

监控概述

  • 监控的目的

    • 报告系统运行状况
    • 每一部分必须同时监控
    • 内容包括吞吐量、反应时间、使用率等
    • 提前发现问题
    • 进行服务器性能调整前,知道调整什么
    • 找出系统的瓶颈在什么地方
  • 监控的资源类别

    • 公开数据
      • Web、FTP、SSH、数据库等应用服务
      • TCP或UDP端口
    • 私有数据
      • CPU、内存、磁盘、网卡流量等使用信息一用户、进程等运行信息
  • 自动化监控系统

    • Cacti:基于SNMP协议的监控软件,强大的绘图能力
    • Nagios:基于Agent监控,强大的状态检查与报警机制插件极多,自己写监控脚本嵌入到Nagios非常方便-
    • Zabbix:基于多种监控机制,支持分布式监控

Zabbix简介

  • Zabbix是一个高度集成的监控解决方案可以实现企业级的开源分布式监控
  • Zabbix通过C/S模式采集监控数据
  • Zabbix通过B/S模式实现Web管理

在这里插入图片描述

环境部署

  • 监控服务器需要使用Web页面操作,因此需要先部署LNMP
  • 监控服务器可以通过SNMP或Agent采集数据数据可以写入MySQL、Oracle等数据库中
  • 服务器使用LNMP实现web前端的管理
  • 被监控主机
    • 被监控主机需要安装Zabbix_agent
    • 常见的网络设备一般支持SNMP
  • 使用模板机克隆下方实验主机
主机名IP地址
zabbix-server192.168.8.100
zabbx-agent192.168.8.101

zabbix-server部署监控环境(将教学环境中的som.tar.gz上传至虚拟机Zabbix-server的/root)

[root@proxy ~]# hostnamectl set-hostname zabbix-server		#修改主机名
[root@zabbix-server ~]# yum -y install gcc pcre-devel openssl-devel make #安装nginx依赖包
[root@zabbix-server ~]# mkdir /root/som
[root@zabbix-server ~]# tar -xf som.tar.gz  -C /root/som
[root@zabbix-server ~]# cd som/
[root@zabbix-server som]# tar -xf nginx-1.16.1.tar.gz 
[root@zabbix-server som]# cd nginx-1.16.1/
[root@zabbix-server nginx-1.16.1]# ./configure --with-http_ssl_module  
													 #配置nginx,支持加密功能
[root@zabbix-server nginx-1.16.1]# make 				 #编译
[root@zabbix-server nginx-1.16.1]# make install		 #编译并安装
[root@zabbix-server ~]# yum -y install php php-mysql php-fpm  #安装php相关软件
[root@zabbix-server ~]# yum -y install mariadb mariadb-devel mariadb-server	 #安装mariadb相关软件
  • 修改nginx配置文件实现动静分离,并且需要添加几行内容,开启缓存容量
  • 因为zabbix的web页面是使用php写的,这些代码需要占用大量的缓存
[root@zabbix-server~]# vim  /usr/local/nginx/conf/nginx.conf
http{
		fastcgi_buffers 8 16k; 					#缓存php生成的页面内容,8个16k
		fastcgi_buffer_size 32k; 				#缓存php生产的头部信息
		fastcgi_connect_timeout 300;			#连接PHP的超时时间
		fastcgi_send_timeout 300;				#发送请求的超时时间
		fastcgi_read_timeout 300;				#读取请求的超时时间
		location ~\.php${
			root html;							#访问根目录
			fastcgi_pass 127.0.0.1:9000;		#动态页面转发给9000端口
			fastcgi_index index.php;			#访问首页
			include fastcgi.conf;				#调用配置文件
}

启动相关服务

[root@zabbix-server ~]# systemctl start mariadb				#启动mariadb
[root@zabbix-server ~]# systemctl enable mariadb				
[root@zabbix-server ~]# systemctl start php-fpm				#启动php-fpm
[root@zabbix-server ~]# systemctl enable php-fpm			
[root@zabbix-server ~]# /usr/local/nginx/sbin/nginx			#启动nginx

编写测试页面

[root@zabbix-server nginx-1.16.1]# vim /usr/local/nginx/html/test.php
<?php
$i=33;
echo $i;
?>

真机访问测试http://192.168.8.100/test.php

安装Zabbix-server(服务端)

  • 源码安装zabbix
  • 使用MobaXterm将zabbix-3.4.4.tar.gz上传至zabbix-server和zabbix-agent主机的/root
[root@zabbix-server nginx-1.16.1]# cd ..
[root@zabbix-server ~]# yum -y install net-snmp-devel curl-devel libevent-devel		
														#安装zabbix所需要依赖
[root@zabbix-server ~]# tar -xf zabbix-3.4.4.tar.gz		#解压zabbix
[root@zabbix-server ~]# cd zabbix-3.4.4/
[root@zabbix-server zabbix-3.4.4]#./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config  --with-net-snmp --with-libcurl	#配置zabbix
[root@zabbix-server zabbix-3.4.4]# make install			#安装zabbix
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/etc/
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/bin/
[root@zabbix-server zabbix-3.4.4]# ls /usr/local/sbin/			

初始化准备,创建数据库与数据库账户

[root@zabbix-server ~]# mysql      					#进入数据库
mysql> CREATE DATABASE zabbix CHARACTER SET utf8; 	#创建zabbix库支持中文字符集
mysql> GRANT ALL ON zabbix.*  to zabbix@"localhost" IDENTIFIED BY 'zabbix';   
													#授权用户zabbix,密码为zabbix
MariaDB [(none)]> EXIT;								#退出数据库连接

私用文件还原数据

MariaDB [(none)]> exit
[root@zabbix-server zabbix-3.4.4]# cd database/mysql/
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql  #导入数据
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < images.sql  #导入数据
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < data.sql    #导入数据
#注:还原数据的时候顺序不能错

部署监控端站点

[root@zabbix-server mysql]# cd
[root@zabbix-server ~]# cd /root/zabbix-3.4.4/frontends/php/
[root@zabbix-server php]# cp -r * /usr/local/nginx/html/			#将页面放到访问根目录
[root@zabbix-server php]# chmod  -R 777 /usr/local/nginx/html/	#服务apache用户权限

初始化zabbix

  • 真机浏览器访问: http://192.168.8.100/index.php

在这里插入图片描述

根据报错提示需要修改php-fpm的配置文件

[root@zabbix-server~]# vim /etc/php.ini
878 date.timezone = Asia/Shanghai 		#设置时区
384 max_execution_time = 300			#最大执行时间,秒
672 post_max_size = 32M					#POST(上传提交)数据最大容量
394 max_input_time = 300				#服务器接收数据的时间限制
[root@zabbix-server~]# systemctl restart php-fpm		#重启php-fpm
[root@zabbix-server~]# yum -y install php-gd php-xml php-ldap php-bcmath php-mbstring
[root@zabbix-server~]# systemctl restart php-fpm			#重启php-fpm

在这里插入图片描述

  • 登录,用户名admin,密码zabbix

在这里插入图片描述

  • 设置中文环境

在这里插入图片描述

启动zabbix_server

启动zabbix服务的监控程序,修改zabbix配置文件

[root@zabbix-server~]# vim /usr/local/etc/zabbix_server.conf
85 DBHost=localhost                                #数据库主机
95 DBName=zabbix                                   #设置数据库名称
111 DBUser=zabbix                                  #设置数据库账户
119 DBPassword=zabbix                              #设置数据库密码
38 LogFile=/tmp/zabbix_server.log                  #设置日志

启动服务

[root@zabbix-server php]# useradd zabbix             #不创建用户无法启动服务
[root@zabbix-server php]# zabbix_server 
[root@zabbix-server php]# ss -antlp | grep 10051

将zabbix_server设置为开机自启服务

[root@zabbix-server ~]# echo zabbix_server >> /etc/rc.d/rc.local
[root@zabbix-server ~]# echo zabbix_agentd >> /etc/rc.d/rc.local
[root@zabbix-server ~]# chmod +x /etc/rc.d/rc.local

部署zabbix客户端

部署zabbix被监控端服务器

安装软件(以8.101为例)

[root@zabbix-server ~]# scp -r zabbix-3.4.4/ 192.168.8.101:/root/     #将zabbix拷贝给zabbix-agent
[root@zabbix-agent ~]# yum -y install gcc pcre-devel autoconf   #安装客户端依赖包
[root@zabbix-agent ~]# cd zabbix-3.4.4/ 
[root@zabbix-agent zabbix-3.4.4]# ./configure --enable-agent    #配置zabbix
[root@zabbix-agentzabbix-3.4.4]# make install                   #安装zabbix
[root@zabbix-agent ~]# ls /usr/local/etc
[root@zabbix-agent ~]# ls /usr/local/bin
[root@zabbix-agent ~]# ls /usr/local/sbin

修改被监控主机配置文件

[root@zabbix-agent~]# vim /usr/local/etc/zabbix_agentd.conf
93 Server=127.0.0.1,192.168.8.100                 #允许访问服务地址列表,即允许谁监控我
134 ServerActive=192.168.8.100:10051              #监控服务器ip地址和端口
30 LogFile=/tmp/zabbix_agentd.log                 #日志文件

启动服务zabbix-agentd

[root@zabbix-agent zabbix-3.4.4]# useradd zabbix        		#创建zabbix用户
[root@zabbix-agent zabbix-3.4.4]# zabbix_agentd          		#启动客户端服务
[root@zabbix-agent zabbix-3.4.4]# ss -antlp | grep 10050        #查看端口

设置被监控端服务为开机自启

[root@zabbix-agent ~]# echo zabbix_agentd >> /etc/rc.d/rc.local
[root@zabbix-agent ~]# chmod +x  /etc/rc.d/rc.local

基础监控

添加加监控主机

通过Configuration→>Hosts>Create Host创建、

注意:设置中文环境后,中英文差异

在这里插入图片描述

添加被监控主机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

为主机添加关联的监控模板

√ 在"Templates"模板选项卡页面中

√ 找到Link new templates,select选择合适的模板添加

√ 这里我们选择Template os Linux模板

点击zabbix-agent被监控主机

在这里插入图片描述

查看监控数据

可以点击"Monitoring"->“Latest data”,在过滤器中填写条件,根据群组和主机搜索即可

在这里插入图片描述

Zabbix支持查看图形

找到需要的数据,点击后面的Graph(图形)

在这里插入图片描述

自定义监控

开启自定义监控功能(zabbix-agent操作,被监控端修改Agent文件)

[root@zabbix-agent~]#vim /usr/local/etc/zabbix_agentd.conf
280 UnsafeUserParameters=1                	 					#是否允许自定义支持key
264 Include=/usr/local/etc/zabbix_agentd.conf.d/                #加载配置文件目录

创建自定义Key

[root@zabbix-agent ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
[root@zabbix-agent zabbix_agentd.conf.d]# vim count.line.passwd        #自定义监控脚本
UserParameter=count.line.passwd, sed -n '$=' /etc/passwd       #统计/etc/passwd有多少行
注:自定义key语法格式UserParameter=自定义key名称,命令

重启Agentd服务

[root@zabbix-agent ~]# killall zabbix_agentd                     #杀掉zabbix_agentd进程
[root@zabbix-agent ~]# zabbix_agentd                             #重启zabbix_agentd服务

测试自定义key是否生效

[root@zabbix-agent~]# zabbix_get -s 127.0.0.1 -k count.line.passwd

创建自定义监控模板

登录监控服务器Web管理页面

​ √ 选择Configuration→>Templates创建模板

在这里插入图片描述

配置监控模板

设置模板名称与组名称

​ √ Template name

​ √ Visible name

​ √ New group

在这里插入图片描述
在这里插入图片描述

模板添加后,默认模板中没有任何应用、项目、触发器、图形等

创建应用集

​ 点击模板后面的Application,刷新出的页面中选择Create Application

​ 设置Application name,点击Add

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

回到模板

创建监控项目

​ √ Configuration→>Templates→>ltems→Create item

在这里插入图片描述
在这里插入图片描述

设置项目参数

​ 项目名称

​ 自定义key(必须与配置文件一致)

​ 应用集选择刚刚创建的应用(Application)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建图形

​ 与监控项目类似,为监控数据创建图形

在这里插入图片描述

设置图形参数

​ √ 填写名称

​ √ 图形类别(以此为线条、填充图、饼图、分割饼图)

​ √ 添加监控项目

在这里插入图片描述
在这里插入图片描述

将模板关联主机

​ Configuration>Hosts→选择主机

在这里插入图片描述

点击Templates,select选项监控项目,add添加

添加完成后,点击Update更新主机配置

在这里插入图片描述

在这里插入图片描述

点击图形查看

测试验证,批量创建用户

[root@zabbix-agent zabbix_agentd.conf.d]# for i in {1..10}
> do 
> 	useradd a$i
> done

点击Monitoring→Craphs→>选择条件查看图形

在这里插入图片描述

zabbix监控网络设备

  • 当被监控端无法安装zabbix_agentd的时候将无法使用zabbix_agent监控
  • 这种情况可以基于SNMP协议进行监控
  • 后续可以使用华为的eNSP设备模拟路由器,进行监控网路设备实验

总结

  • 掌握Zabbix监控服务的作用
  • 掌握监控流程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1205949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python高级语法----使用Python进行模式匹配与元组解包

文章目录 1. 模式匹配的新特性2. 高级元组解包技巧3. 数据类的匹配与应用1. 模式匹配的新特性 Python自3.10版本起引入了结构化模式匹配的新特性,这是一种强大的工具,允许开发者用更清晰、更直观的方式处理数据结构。模式匹配类似于其他编程语言中的switch-case语句,但它更…

【PC】开发者日志:竞技比赛验证系统强化

各位玩家大家好&#xff01;欢迎收看本期开发者日志。 在11月1日发布的第26赛季第2轮更新公告中&#xff0c;我们提到了有关强化比赛验证系统的内容。想必各位玩家一定会对我们加强验证系统的背景和意图感到好奇&#xff0c;为此我们想通过今天这篇反作弊开发者日志来向大家更详…

Linux socket编程(2):socket函数介绍及C/S模型代码实现

上一节简单介绍了一下套接字、字节序和地址结构体的概念&#xff0c;算是对socket有一个入门的了解。这一节就实现一个客户端-服务端的代码&#xff0c;从这个例子中来学习socket函数的使用。 文章目录 1 客户端/服务端模型2 套接字函数2.1 socket:创建套接字2.2 bind:绑定套接…

设计模式之适配器(Adapter)

Adapter Wapper 接口转换器 如果一个类不能直接访问另一个类的时候&#xff0c;中间加一个Adapter转换器就能访问了 常见例子: 电压转接头 java.io jdbc-odbc bridge(不是桥接模式) ASM Transformer java io里面的读文件操作: FileInputStream是字节流读文件&#xff0c;就像…

Python高级语法----Python C扩展与性能优化

文章目录 1. 编写Python C扩展模块示例代码编译和运行运行结果2. 利用Cython优化性能示例代码编译和运行运行结果3. Python性能分析工具示例代码分析结果1. 编写Python C扩展模块 Python C扩展模块允许你将C语言代码集成到Python程序中,以提高性能。这对于计算密集型任务特别…

ppt中的字体,如何批量替换?

想要将PPT中的文字全部更换&#xff0c;有什么方便的方法吗&#xff1f;今天分享两个方法&#xff0c;一键修改ppt文件字体。 方法一&#xff1a; 找到功能栏中的编辑选项卡&#xff0c;点击替换 – 替换字体&#xff0c;在里面选择我们想要替换的字体就可以了。 方法二&…

逐帧动画demo

用这一张图实现一个在跑的猎豹的动画 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X…

Centos7安装mysql8.0.35(亲测)

今天在centos7上安装了mysql8&#xff0c;特此记录以作备忘。 说明&#xff1a; - 我安装的mysql版本&#xff1a;8.0.35 - centos版本&#xff1a;7 - 我的虚拟机没安装过mysql,如果之前安装过mysql记得卸载干净 - 卸载步骤&#xff1a; - rpm -qa|grep mysql (搜索mysql)比如…

Java Stream 的常用API

Java Stream 的常用API 遍历&#xff08;forEach&#xff09; package com.liudashuai;import java.util.ArrayList; import java.util.List;public class Test {public static void main(String[] args) {List<Person> userList new ArrayList<>();userList.ad…

银行支付凭证截图生成器在线,工商邮政农业招商建设,画板+透明标签+图片框

用易语言设计了一个非常牛X的截图生成器&#xff0c;娱乐使用哈&#xff0c;软件我在这里也不会分享&#xff0c;模版网上找的&#xff0c;百度图库搜到的&#xff0c;上面的LOGO用的是一个在线生成器&#xff0c;然后标签用的黑月透明标签&#xff0c;加一个通用对话框读取图片…

《QT从基础到进阶·二十一》QGraphicsView、QGraphicsScene和QGraphicsItem坐标关系和应用

前言&#xff1a; 我们需要先由一个 QGraphicsView&#xff0c;这个是UI显示的地方&#xff0c;也就是装满可见原色的Scene&#xff0c;然后需要一个QGraphicsScene 用来管理所有可见的界面元素&#xff0c;要实现UI功能&#xff0c;我们需要用各种从QGraphicsItem拼装成UI控件…

Python编程爬虫代码

这是一个基本的爬虫程序的示例&#xff0c;按照你的需求进行了修改&#xff1a; typescript import * as request from request; import * as cheerio from cheerio; const proxyHost ; const proxyPort ; // 创建一个request实例&#xff0c;使用 const requestWithProxy…

大数据系统建模方法论简谈

1.根据业务需求构建总线矩阵--明确需求 构建总线矩阵的目的&#xff1a;总线矩阵也是BI核心之一&#xff0c;基本上只要详细了解企业业务战略线就能得出总线矩阵&#xff0c;它对应着企业每一个业务单元&#xff0c;提取业务单元中的一致性维度和事实量值组 组合成企业总线矩阵…

从关键新闻和最新技术看AI行业发展(2023.10.23-11.5第九期) |【WeThinkIn老实人报】

Rocky Ding 公众号&#xff1a;WeThinkIn 写在前面 【WeThinkIn老实人报】旨在整理&挖掘AI行业的关键新闻和最新技术&#xff0c;同时Rocky会对这些关键信息进行解读&#xff0c;力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议&#xff0c;一起交流学习&…

2023亚太杯数学建模B题思路解析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…

程序运行前后内存分区存储

程序运行前是源码 在程序运行后&#xff0c;生成了exe可执行程序 分为代码区和全局区 代码区&#xff1a; 存放CPU执行的机器指令代码区是共享的&#xff0c;共享的目的是对于频繁被执行的程序&#xff0c;只需要在内存中有一份代码就可以了代码区是只读的&#xff0c;其只读…

BEVFusion简介、环境配置与安装以及遇到的各种报错处理

BEVFusion简介、环境配置与安装以及遇到的各种报错处理 BEVFusion简介BEVFusion环境配置与安装报错解决 BEVFusion简介 针对点云投射到图像的多模态融合和图像投射到点云的多模态融合&#xff0c;前者会损失空间几何信息&#xff0c;后者会损失图像语义信息&#xff0c;这两种…

janus 安装部署

本文使用docker进行安装&#xff0c;还没有安装docker和docker-compose的&#xff0c;请自行安装&#xff0c;这里就不介绍了 环境 janus-gateway镜像版本:anyan/janus-gateway:0.10.7 linux版本: Ubuntu 18.04.6 LTS coturn/coturn 镜像版本: coturn/coturn:latest 镜像ID 8…

java算法学习索引之动态规划

一 斐波那契数列问题的递归和动态规划 【题目】给定整数N&#xff0c;返回斐波那契数列的第N项。 补充问题 1&#xff1a;给定整数 N&#xff0c;代表台阶数&#xff0c;一次可以跨 2个或者 1个台阶&#xff0c;返回有多少种走法。 【举例】N3&#xff0c;可以三次都跨1个台…