zabbix 快速入门

2023-10-28

zabbix 快速入门

zabbix介绍

​ Zabbix是由 Alexei Vladishev 开发的一种网络监视,管理系统,基于Server-Client架构。可以使用多种方式监视。可以只使用 Simple Check 不需要安装 Client 端,亦可基于 SMTP 或 HTTP … 各种协议定制监视。

zabbix的优势
zabbix是可以满足理想化的监控系统需求
提供需要输出的值即可支持自定义监控脚本
zabbix存储的数据库表结构稍有复杂但是逻辑清晰
zabbix存在模板的概念,可以方便的将一组监控项进行部署
zabbix每一个项目item都可以看到历史记录,且web界面友好
zabbix有强大的Trigger触发器定义规则,可以定义复杂的报警逻辑
zabbix提供了ack报警确认机制
zabbix支持邮件,短信,微信等告警
zabbix在触发告警后,可以远程执行系统目录
zabbix有原生的PHP绘图模块
zabbix程序组件
zabbix_server	服务端守护进程
zabbix_agentd,agent	守护进程
zabbix_porxy	代理服务器
zabbix_database	存储系统 ,mysql,pgsql
zabbix_web	web GUI图形化界面
zabbix_get	命令工具行,测试向agent发起数据采集请求
zabbix_sender  命令行工具,测试向server发送数据
zabbix_Java_geteway,Java网关

zabbix安装(5.0)

5.0版本对基础环境要求有很大的变化,最大的就是对php版本的要求,最低要求7.2版本。对php扩展组件版本也有要求,详情参考官方文档:https://www.zabbix.com/documentation/current/manual/installation/requirements

安装zabbix服务端配置

官网安装文档:
https://www.zabbix.com/download?zabbix=5.0&os_distribution=red_hat_enterprise_linux&os_version=7&db=mysql&ws=apache


1.环境准备,配置yum源,安装基础命令,配置防火墙,同步时间等
[root@zabbix ~]# ifconfig |awk 'NR==2{print $2}'
192.168.178.3
[root@zabbix ~]# iptables -F
[root@zabbix ~]# getenforce 
Disabled
[root@zabbix ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
[root@zabbix ~]# ntpdate -u ntp.aliyun.com && date

2.获取zabbix官方源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#替换阿里源为官方源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#清除缓存
yum clean all

3.安装zabbix server 和 agent
yum install zabbix-server-mysql zabbix-agent -y

安装Sofware,Collections,便于后续安装高版本的php,默认yum安装的php版本为5.4过低。
SCL(Software Collections)可以让同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
软件包会安装在/opt/rh目录下,为了避免系统发生冲突,/opt/rh包安装在目录中例如,这允许你在CentOS 7机器上安装Python 3.5,而不会删除或干扰Python 2.7。
/etc/opt/rh/软件包的所有配置文件都存储在目录中相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量的shell脚本,例如,PATH,LD_LIBRARY_PATH和MANPATH ,这些脚本存储在文件系统中,作为 /opt/rh/package-name/enable 。

#启用scl
yum install centos-release-scl -y

4.修改zabbix前端源
vim /etc/yum.repos.d/zabbix.repo 

修改前:
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

修改后:
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1  		#此处0修改为1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

5.安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y

6.安装zabbix所需要的数据库,可以直接使用centos7自带的mariadb
yum install mariadb-server -y

7.启动数据库,且配置开机启动
 systemctl enable --now mariadb
 
8.初始化mariadb,设置root密码,123456
mysql_secure_installation 
#默认密码为空,直接回车,然后Y确认修改密码,在输入密码,根据提示输入:
...
Disallow root login remotely? [Y/n] n   #注意此处输入n,禁止远程登录,选择no,
 ... skipping.
...
#其他根据需求设置

9.使用root用户登录mariadb,建立zabbix数据库
#登录
mysql -uroot -p
#设置字符集
create database zabbix character set utf8 collate utf8_bin;
#创建zabbix用户并设置密码为123456
create user zabbix@localhost identified by '123456';
#授权zabbix相关用户
grant all privileges on zabbix.* to zabbix@localhost;
#刷新
flush privileges;
#使用select语句查看
select user,host,password from mysql.user;
#退出
qiut;

10.使用一些命令导入zabbix数据库,zabbix数据库用户为zabbix,密码为123456
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

11.修改zabbix server配置文件 /etc/zabbix/zabbix_server.conf里面的数据库密码
vim /etc/zabbix/zabbix_server.conf
#查看
[root@zabbix ~]#  grep '^DBPassword' /etc/zabbix/zabbix_server.conf
DBPassword=123456

12.修改zabbix的php配置文件 vim  /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的时区
[root@zabbix ~]# vim  /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[root@zabbix ~]#  grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai


13.启动相关服务
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

14.访问zabbix入口
http://192.168.178.3/zabbix/setup.php

15.进入页面后,点击next setp检查组件是否正常
16.点击next setp,输入配置数据库zabbix用户,密码123456
17.继续点击下一步,安装成功即可使用
18.登录账号为Admin,密码:zabbix,注意大小写,登录后即可进入首页

修改zabbix语言

点击User settings,选择中文(zh_CN);点击Upadate更新。
主页仪表盘是可以编辑,随意拖动修改大小的。

部署zabbix客户端

zabbix5.0版本使用go语言重写了Agent2,也是5.0版本新特性,Agent2有如下特性:

  • 完成插件框架支持,可扩展服务以及应用监控
  • 支持灵活的采集周期调度
  • 更高效的数据采集及传输
  • 可以完全替换先有的agent

特性较多推荐使用,由于使用go语言编写,编译安装与之前版本有所区别。

Agent2 默认使用100050端口,与zabbix Agent端口一样,不修改端口情况下,同一台机器不能同时启动zbbix Agent 与zabbix Agent2。

1.在准备一台linux虚拟机,配置号专有的Yum源,配置好防火墙和实时同步
[root@m01 ~]#  ifconfig |awk 'NR==2{print $2}'
192.168.178.120
[root@m01 ~]#  getenforce 
Disabled

#同步时间
yum install ntpdate -y
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate -u ntp.aliyun.com && date

2.这一步很重要,把zabbix官方源替换为阿里云的zabbix源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
清除缓存
yum clean all 

3.安装agent2
yum install zabbix-agent2 -y

# 配置文件了解
默认配置为/etc/zabbix/zabbix_agent2.conf
[root@m01 ~]# ls /etc/zabbix/zabbix_agent2.conf 
/etc/zabbix/zabbix_agent2.conf
默认二进制文件为/usr/bin/zabbix_agent2
[root@m01 ~]# ls /usr/sbin/zabbix_agent2 
/usr/sbin/zabbix_agent2

4.启动agent2且开机自启
systemctl enable --now zabbix-agent2

5.检查端口
[root@m01 ~]# netstat -tunlp |grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      2170/zabbix_agent2  

6.查看systemctl管理的单元文件,
[root@m01 ~]# cat /lib/systemd/system/zabbix-agent2.service 
#可以自己定义一个这样的文件使用systemctl去管理

7.修改agent2配置文件,填写zabbix-server主机IP和主机名
修改前:
[root@m01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
修改后:
[root@m01 ~]# vim /etc/zabbix/zabbix_agent2.conf
[root@m01 ~]#  grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=m01    #本机hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
Agent2没有组件依赖,可以直接拷贝编译号的二进制文件和配置文件在其他主机上运行即可

8.修改后重启agent2
 systemctl restart zabbix-agent2

9.检查server-client连通性
# zabbix服务端
安装客户端命令
[root@zabbix ~]# yum install zabbix-get -y
#测试结果必须为1
[root@zabbix ~]# zabbix_get -s '192.168.178.120' -p 10050 -k "agent.ping"
1
#使用主机名测试
[root@zabbix ~]#  zabbix_get -s '192.168.178.120' -p 10050 -k "system.hostname"
m01

zabbix-server监控主机

默认zabbix5.0已经监控了自己。

一,服务器可视化指标
点击对应主机的图形即可看见,或者点击主机名选择图形。

image-20210225153843020

二,解决zabbix乱码问题
在第一步的图形中下面的小白框表示乱码,是因为修改了zabbix的语言为中,服务器需要安装字体
[root@zabbix ~]# yum -y install wqy-microhei-fonts
[root@zabbix ~]# \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
此时乱码已经消失
三,添加agent主机(m01)

1.依次点击 配置–主机–选择创建主机

image-20210225155101849

2.点击创建主机后进入新的页面,让填写主机名,群组,IP地址等信息。

image-20210225161153111

3.稍做等待后结果如下,zabbix即正确监控看m01–192.169.178.120机器

image-20210225161421730

4.点击第三步中的主机名,在填写完主机信息后还需要添加模板,输入Linux,有自动搜索功能

5.可以点击检查,选择最新数据查看
在最新数据中,可以进行筛选,输入ip或主机名都可以搜索出来

image-20210225162952439

6.可始化监控agent的cpu动态

1.在m01机器是,执行程序,消耗CPU,利用shell或python皆可。
[root@m01 ~]# python
Python 2.7.5 (default, Nov 16 2020, 22:23:17) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> while 1:
...     print 6666   #注意print有四个空格,然后回车回车,一直循环打印666,调用c'pu


2.依次点击监测--最新数据,选择要查看的主机,选择应用集,勾选需要检测的选项,如CPU,内存等,然后点击显示数据图(或者在m01机器选择图形检测CPU与内存动态),然后选择需要查看的时间段。

3,情况如下:

image-20210225165055542

zabbix自带模板

zabbix自带模板Template OS Linux (Template App Zabbix Agent),提供了CPU,内存,磁盘,网卡等常规监控,只要新加主机关联此模板,就可以自带添加这些监控项。

#zabbix有自带的key
[root@zabbix ~]#  zabbix_get -s 192.168.178.120 -p 10050 -k "system.uname"
Linux m01 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64
[root@zabbix ~]#  zabbix_get -s 192.168.178.120 -p 10050 -k "system.hostname"
m01
#热是写错了key,则会报错--未知的指标
[root@zabbix ~]#  zabbix_get -s 192.168.178.120 -p 10050 -k "system.hostname1"
ZBX_NOTSUPPORTED: Unknown metric system.hostname1

#未登记,自定义的key,未知的指标
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -p 10050 -k "login.user"
ZBX_NOTSUPPORTED: Unknown metric login.user
参数解释:
-s --host  指定主机名或ip
-p --port 指定主机上运行的代理的端口号,默认值为10050
-k --key 指定要为其检索值的项目键
详情参考官网,搜索zabbix相关命令
查看模板-监控项

在这里插入图片描述

监控项的键值就是zabbix-get 使用的key

例如:检测客户端存活
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -p 10050 -k "agent.ping"
1

#检测文件系统空间大小
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -p 10050 -k "vfs.fs.size[/,used]"
1815965696
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -p 10050 -k "vfs.fs.size[/,total]"
38735400960

自定义监控与项语法

当zabbix自带模板,无法满足我们的需求,就需要自定义监控,自定义监控其实就是添加监控key,监控的命令

案例

制作模板(监控登录人数)
需求:限制登录人数不超过三个,超过三人则发出报警


1.首先显示用户登录命令
who 
who | wc -l  #显示登录人数

2.需要添加监控项配置文件,路径
/etc/zabbix/zabbix_agent2.d/

#zabbix配置文件,大多数软件配置都会使用include形式来优化配置文件
[root@m01 ~]# grep -i '^include' /etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf

3.自定义的配置文件语法是:
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh

4.创建配置文件,key名要唯一,可以写入多个key
[root@m01 ~]# vim /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
UserParameter=login.user2,who|wc -l   
#查看
[root@m01 ~]# cat  /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
UserParameter=login.user2,who|wc -l
# login.user是key值的名称,最好是见名知意,who|wc -l 输出的值才是服务端检测的

5.重启m01
systemctl restart zabbix-agent2

6.在服务端zabbix用命令检测自定义的key
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -k "login.user"
1
#开启多个窗口再次检测
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -k "login.user"
4
[root@zabbix ~]# zabbix_get -s 192.168.178.120 -k "login.user2"
4
#此时自定义key已经完成
zabbix-server 注册模板
在命令行添加完配置,并检测成功后,需要在web界面操作注册模板
整个流程是:
--	创建模板
--	创建应用集:对监控项分类
--	创建监控项:定义item,监控的内容
--	创建触发器:当监控项或者到值,达到触发条件便告警
--	创建图形
--	主机进行模板关联

创建模板

依次点击:
配置--模板--创建模板  进入如下页面:

image-20210225194623925

找到自己添加的模板,填入信息后进入下一步。

创建应用集
应用集作用好比文件夹分类,作用是给监控项分类。

依次点击:
配置--主机--找到对应主机--点击应用集--右上角创建应用集

image-20210225195358463

添加监控项

依次点击:
配置--主机--选择对应主机--监控项--创建监控项

在这里插入图片描述

创建触发器

可以直接在上一个页面添加完成后,直接点击触发器-然后右上角点击创建触发器。其他类同。
也可以依次点击:配置-主机-选择对应主机-点击触发器-创建触发器

image-20210225202512597

创建图形

同样的操作,进入图形-点击创建图形

在这里插入图片描述

关联模板

上述所有配置都是把登录用户监控的模板添加好,以及图形展现,但是还未绑定具体的服务器
依次点击:
配置-主机-选择对应主机-点击模板-添加 "login.user"后更新

image-20210225203402317

一个主机可以关联多个监控模板
查看监测-最新数据-图形;查看zabbix监控中的用户登录数,然后多登录几个看是否会告警
[root@zabbix ~]#  zabbix_get -s 192.168.178.120 -k "login.user"
4

image-20210225203841393

最新仪表盘数据–已经出现告警信息

在这里插入图片描述

继续添加用户,查看图形监控
[root@zabbix ~]#  zabbix_get -s 192.168.178.120 -k "login.user"
7

在这里插入图片描述

确认问题
管理员可以在下确认问题,修改描述,也可以修复问题,如剔除多余登录的用户等。如果想要手动关闭该问题,可以在触发器里设置,允许手动关闭该问题。

依次点击:
监测--问题--勾选问题--批量更新--填写消息--更改严重性--勾选确认--确认更新

在这里插入图片描述

确认后报警消失。
在这里插入图片描述

zabbix 自定义监控nginx

zabbix本身有监控nginx的模板,可以直接使用该模板,也可以再针对nginx做一些自定义的监控,主要是结合nginx的status模块添加监控。此处zabbix自带的nginx监控模板,暂时不用。

在m01机器部署nginx

1.直接yum快速安装nginx
[root@m01 ~]# yum install nginx -y

2.添加nginx的status状态功能
[root@m01 ~]# vim /etc/nginx/nginx.conf
在server标签下写入如下内容开启status功能
        location /status {
            stub_status on;
            access_log off;
}

4.启动nginx,查看状态页
[root@m01 ~]# nginx

[root@m01 ~]#  curl  http://192.168.178.120/status
Active connections: 3 
server accepts handled requests
 3 3 3 
Reading: 0 Writing: 1 Waiting: 2 

4.监控内容解释
Active  connections:当前所有处于打开状态的活动连接数(TCP连接数,即三次握手四次挥手次数)
accepts :                        已经接收连接数
handled :                      已经处理过的连接数
requests :                已经处理过的请求数,在保持连接模式下,请求数量可能会大于连接数量
Reading:                          正处于接收请求的连接数
Writing:                          请求已经接收完成,处于响应过程的连接数
Waiting :                      保持连接模式,处于活动状态的连接数

5.添加nginx监控项,需要自定义
[root@m01 ~]#  vim  /etc/zabbix/zabbix_agent2.d/userparameter_nginx.conf
[root@m01 ~]# cat   /etc/zabbix/zabbix_agent2.d/userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status  2>/dev/null| grep 'Active' | awk '{print $NF}'
UserParameter=nginx.reading,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Reading' | awk '{print $2}'
UserParameter=nginx.writing,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Writing' | awk '{print $4}'
UserParameter=nginx.waiting,curl -s http://127.0.0.1/status 2>/dev/null| grep 'Waiting' | awk '{print $6}'
UserParameter=nginx.accepts,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $1}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $2}'
UserParameter=nginx.requests,curl -s http://127.0.0.1/status 2>/dev/null| awk NR==3 | awk '{print $3}'


6.启动nginx和重启zabbix-agent2服务
[root@m01 ~]# nginx -s reload
[root@m01 ~]#  systemctl restart zabbix-agent2

创建模板

image-20210225235211362

创建应用集

配置-主机-选择主机m01-应用集-创建应用集nginx

image-20210225233950821

依次添加7个监控项

和上面操作一样,不做复述,进入监控项界面,根据配置文件设定的键值名称,依次添加七个监控项

image-20210226001440762

image-20210226002141833

添加完毕后结果如下:

image-20210226002250672

创建图形

在这里插入图片描述

查看图形效果

在这里插入图片描述

测试

通过ab压测命令,增大网站压力,查看zabbix图形监控
[root@m01 ~]# yum install httpd-tools -y
[root@m01 ~]# ab -c 100 -n 1000000 http://127.0.0.1/
[root@m01 ~]# ab -c 100 -n 10000000 http://127.0.0.1/

查看图形效果

依次点击--监测--最新数据--选择主机群组--选择主机m01--选择应用集--勾选7个监控项目--显示数据图

在这里插入图片描述

zabbix进阶

邮件报警
依次点击管理,报警媒介类型,创建媒体类型,配置完毕后测试是否能正确发送
设置收件人邮箱,点击更新
此时主机出现问题时,会发生邮件给指定的用户

image-20210225224151988

添加完毕后必须测试通过才能使用

聚合图形与幻灯片
zabbix还支持聚合图形,依次点击--监测--聚合图形--创建聚合图形--填入相应信息--点击添加

image-20210225230316902

自动发现和自动注册

1.部署两台客户端机器,web01,lb01
#两台机器同时操作如下命令:
yum install ntpdate -y
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate -u ntp.aliyun.com && date
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all 
yum install zabbix-agent2 -y
systemctl enable --now zabbix-agent2

#修改以下三项
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=zabbix

#查看lb01,web01
[root@lb01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=lb01   #填写本机名称
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
[root@web01 ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=web01    #填写本机名称
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

#重启zabbix-agent2服务
systemctl restart zabbix-agent2

#检测启动情况
[root@web01 ~]#  systemctl is-active  zabbix-agent2
active
[root@lb01 ~]#  systemctl is-active  zabbix-agent2
active


3.服务端检测连通性
[root@zabbix ~]# zabbix_get -s '192.168.178.140' -p 10050 -k "agent.ping"
1
[root@zabbix ~]# zabbix_get -s '192.168.178.130' -p 10050 -k "agent.ping"
1
[root@zabbix ~]# zabbix_get -s '192.168.178.140' -p 10050 -k "system.hostname"
web01
[root@zabbix ~]# zabbix_get -s '192.168.178.130' -p 10050 -k "system.hostname"
lb01

自动发现/自动注册两种模式

zabbix server 主动发现所有客户端,然后对客户端进行登记,缺点:当客户端多是,网段大,zabbix server 压力也大,消耗时间多。

zabbix agent 主动添加,登记。缺点:agent有可能找不到server(配置出错)。

  • 被动模式:默认,agent被server抓取数据

  • 主动模式:agent主动将数据发到server端

    注意: 两种模式都是在agent上进行配置

hosts文件解析

cat /etc/hosts
192.168.178.3  zabbix
192.168.178.130 lb01
192.168.178.140 web01
自动发现–被动模式
准备好:
zabbix 192.168.178.3
lb01 192.168.178.130
web01 192.168.178.140
启动好zabbix-agent2

[root@web01 ~]# netstat -tunlp |grep agent2
tcp6       0      0 :::10050                :::*                    LISTEN      18962/zabbix_agent2 

[root@lb01 ~]# netstat -tunlp |grep agent2
tcp6       0      0 :::10050                :::*                    LISTEN      18817/zabbix_agent2 

自动发现设置

依次点击:
配置--自动发现--自己创建发现规则,填写IP地址或者网段范围(或者修改默认的local networl)--启用--更新

image-20210226152730126

image-20210226152852447

再依次点击--配置--动作--选择Trigger actions中的Discovery acctions--勾选名称(Auto discovery.linux servers)--启用

image-20210226153229929

启用后进入如下画面

在这里插入图片描述

点击名称(Auto discovery. Linux servers.)--选择操作--更新

在这里插入图片描述

等待客户端自动出现

点击--配置--主机或者监测主机都能看到

image-20210226154439524

自动注册–主动模式
1.准备一台linux机器
docker01   192.168.178.10   安装 zabbix-agent2
准备相关环境,切记同步时间
yum install ntpdate -y
mv /etc/localtime{,.bak}
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate -u ntp.aliyun.com && date
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum clean all 
yum install zabbix-agent2 -y
systemctl enable --now zabbix-agent2

2.修改以下四项
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=docker01  # 此处填写本机名称
HostnameItem=system.hostname  #比之前多了这一行配置

[root@docker01 ~]# vim /etc/zabbix/zabbix_agent2.conf
[root@docker01 ~]#  grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=docker01  
HostMetadataItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

3.互相配置hosts文件

4.重启zabbix-agent2
systemctl restart zabbix-agent2

5.去服务端验证
[root@zabbix ~]# zabbix_get -s '192.168.178.79' -p 10050 -k "agent.ping"
1
[root@zabbix ~]# zabbix_get -s '192.168.178.79' -p 10050 -k "system.hostname"
docker01

在zabbix-server上配置

创建动作:配置--动作--选择Autoregistration actions--创建动作

在这里插入图片描述

添加操作

在这里插入图片描述

最后等待客户端,自动被添加即可

image-20210226162313349

可以监测zabbix日志和agent2日志

[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log 

[root@docker01 ~]# tail -f /var/log/zabbix/zabbix_agent2.log 

分布式监控与SNMP

QQ截图20210226170043

我们看如上的场景,使用zabbix如果在一个局域网内中,监控agent没人任何问题,单是如果夸数据中心,跨越机房了,zabbix-server和zabbix-agent直接的延迟,可能会高到服务端任务客户端机器宕掉了。那么这里我们就的使用zabbix支持的分布式架构功能。

zabbix支持proxy模式分布式,部署较为简单,proxy和zabbix-server一样,能够从被监控的主机上获取数据,且保存在本地数据库,达到一定条件之后,会把这些数据发送给zabbix-server,再进行后续的操作,例如执行触发器,发送报警等。zabbix-server会定期将自己的配置,发给proxy,这样保证配置都是server上然后同步给proxy,保证分布式架构的一致性。

QQ截图20210226185758

proxy也主要用来解决网络问题,比如公司一般会有多个IDC机房,由于网络地域原因,机房之间的互通性不太好,又可能有防火墙的问题导致zabbix-server和zabbix-server之间的连通性不好。
上图就是企业常见用法,在每个IDC机房放置一个zabbix-proxy代理服务器用来检测本机房,这样我们只需要解决proxy和server之间的连通性问题就行,zabbix-server和proxy之间的数据传输可靠性可以完全放心,proxy也会有缓存,保证数据的完整性。

分布式监控的作用

  • 分担压力,降低server负载
  • 多机房监控
部署分布式监控
环境准备
zabbix-server	zabbix	192.168.178.3
zabbix-proxy	lb01	192.168.178.130
zabbix-agent	web01	192.168.178.140
确保三台机器防火墙关闭,也可以另外准备两台机器
意思就是zabbix 机器通过 lb01机器收集数据来监测 web01机器
# 把原来web页面添加的主机web01和lb01都先删除

部署
1.关闭zabbix-server配置的自动发现和自动注册
关闭自动发现:
zabbix的web界面依次点击--配置--自动发现--选择对应名称--禁用
关闭自动注册:
zabbix的web界面依次点击--配置--动作--勾选名称--禁用

2.zabbix-server服务端无需变动,继续运行

3.在zabbix-proxy也就是lb01机器上部署数据库,存储agent的监控数据,最终发给server
#确保有zabbix的源,hosts文件解析
#安装使用MySQL的proxy
#获取zabbix官方源
[root@lb01 ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 这一步很重要
[root@lb01 ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
 
安装
[root@lb01 ~]# yum install zabbix-proxy-mysql zabbix-get -y

4.安装部署数据库
[root@lb01 ~]# yum install mariadb-server mariadb -y
[root@lb01 ~]# systemctl start mariadb

5.建立数据库用户
mysql
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by '123456';
flush privileges;
exit
设置密码
mysqladmin -uroot  password 123456

6.导入zabbix-proxy数据文件
[root@lb01 ~]# rpm -ql zabbix-proxy-mysql
/etc/logrotate.d/zabbix-proxy
/etc/zabbix/zabbix_proxy.conf
/usr/lib/systemd/system/zabbix-proxy.service
/usr/lib/tmpfiles.d/zabbix-proxy.conf
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_proxy_mysql
/usr/share/doc/zabbix-proxy-mysql-5.0.9
/usr/share/doc/zabbix-proxy-mysql-5.0.9/AUTHORS
/usr/share/doc/zabbix-proxy-mysql-5.0.9/COPYING
/usr/share/doc/zabbix-proxy-mysql-5.0.9/ChangeLog
/usr/share/doc/zabbix-proxy-mysql-5.0.9/NEWS
/usr/share/doc/zabbix-proxy-mysql-5.0.9/README
/usr/share/doc/zabbix-proxy-mysql-5.0.9/schema.sql.gz
/usr/share/man/man8/zabbix_proxy.8.gz
/var/log/zabbix
/var/run/zabbix

#导入数据
[root@lb01 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-5.0.9/schema.sql.gz |mysql -uzabbix -p123456 zabbix_proxy
#主要数据库版本

7.修改proxy配置,连接数据库。#-i.ori修改并备份
sed -i.ori '162a DBPassword=123456' /etc/zabbix/zabbix_proxy.conf 
sed -i 's#Server=127.0.0.1#Server=192.168.178.3#' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Hostname=Zabbix proxy#Hostname=lb01#' /etc/zabbix/zabbix_proxy.conf

8.检查zabbix-proxy配置
[root@lb01 ~]# vim  /etc/zabbix/zabbix_proxy.conf
[root@lb01 ~]# grep ^'[a-Z]' /etc/zabbix/zabbix_proxy.conf
Server=192.168.178.3
ServerPort=10051    #取消注释
Hostname=lb01
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=localhost	#取消注释
DBPassword=123456
DBName=zabbix_proxy
DBUser=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
[root@lb01 ~]# grep ^'[a-Z]' /etc/zabbix/zabbix_proxy.conf |wc -l
16


9.启动zabbix-proxy服务
systemctl restart zabbix-proxy.service
systemctl status zabbix-proxy.service

web页面添加代理

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

在这里插入图片描述

稍微等待

在这里插入图片描述

可以监控日志

[root@lb01 ~]# tail -f /var/log/zabbix/zabbix_proxy.log
[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log 

重启代理机器,可以在zabbix机器上看到日志
[root@lb01 ~]# systemctl restart zabbix-proxy.service
[root@zabbix ~]# tail -f /var/log/zabbix/zabbix_server.log 
  1675:20210226:211119.335 sending configuration data to proxy "lb01" at "192.168.178.130", datalen 3662

Agent客户端配置
1.修改web01配置,指向proxy
#修改前:
[root@web01 ~]#  egrep -i '^server|^hostname' /etc/zabbix/zabbix_agent2.conf
Server=192.168.178.3
ServerActive=192.168.178.3
Hostname=web01
[root@web01 ~]# vim  /etc/zabbix/zabbix_agent2.conf
#修改后:
[root@web01 ~]#  egrep -i '^server|^hostname' /etc/zabbix/zabbix_agent2.conf
Server=192.168.178.130
ServerActive=192.168.178.130
Hostname=web01

2.重启web01 zabbix-agent2
[root@web01 ~]# systemctl restart zabbix-agent2

3.各机器hosts文件解析关系
lb01机器名称最好在服务端和客户端都能解析,特别是服务端一定要能解析
#zabbix 解析lb01代理服务器
[root@zabbix ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.178.130 lb01

#lb01代理父亲解析web01也就是zabbix-agent机器与zabbix server机器zabbix
[root@lb01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.178.3  zabbix
192.168.178.140 web01

#web01机器没用添加解析关系
[root@web01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

在web重新添加web01机器或更新web01机器,ZBX为绿色则为正常

在这里插入图片描述

这一切都可以通过日志来查看结果
[root@lb01 ~]# tail -f /var/log/zabbix/zabbix_proxy.log 
  2359:20210226:214802.725 proxy #24 started [icmp pinger #1]
  2358:20210226:214802.729 proxy #23 started [unreachable poller #1]
  2356:20210226:214802.737 proxy #21 started [poller #4]
  2357:20210226:214802.740 proxy #22 started [poller #5]
  2360:20210226:214802.744 proxy #25 started [preprocessing manager #1]
  2344:20210226:214802.746 proxy #9 started [housekeeper #1]
  2363:20210226:214802.827 proxy #28 started [preprocessing worker #3]
  2361:20210226:214802.835 proxy #26 started [preprocessing worker #1]
  2362:20210226:214802.842 proxy #27 started [preprocessing worker #2]
  2355:20210226:214803.744 enabling Zabbix agent checks on host "web01": host became available

此时web01已经是通过lb01代理监控

image-20210226211144870

SNMP监控

如果我们需要监控打印机,路由器等设备,肯定不能使用zabbix agent,因为他们不能安装软件,但是他们一般都支持SNMP协议,这样我们可以采用SNMP协议来监控他们,如果你希望使用SNMP-agent来获取这些设备信息,那么在安装zabbix server 的始化需要增加snmp的支持,SNMP监测基于UDP协议。

 snmp simple network manager protocol 简单网络管理协议
 很多无法安装zabbix-agent的设备,都可以通过snmp协议监控

部署

1.在服务端安装
[root@zabbix ~]# yum -y install net-snmp net-snmp-utils

2.配置snmp程序,开启snmp的配置
[root@zabbix ~]# sed -i.ori '57a view systemview   included  .1' /etc/snmp/snmpd.conf
[root@zabbix ~]# systemctl start snmpd.service

3.测试snmp命令
[root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zabbix
参数解释:
snmpwalk snmp命令,类似zabbix_get
-v 2c  指定使用snmp协议的版本,snmp分为v1 v2 v3
-c public 指定暗号
sysname 类型与zabbix的key

snmp-OID

SNMP代理提供大量的对象标识符(OID -Object Identifiers)。一个OID是一个唯一的键值对,该代理存放这些值并让他们可用。

用法:

[root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: zabbix
[root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux zabbix 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64

添加主机-snmp

取消原有的主机模板,重新添加,注意点击原有的模板,取消并清理,否则有些监控项冲突

在这里插入图片描述
image-20210226213508043

稍微等待,zabbix-server已经变成了snmp监控了

在这里插入图片描述

全网监控方案

如何利用zabbix去监控整个web集群,假如有50台,100台机器,该怎么去监控。
问题:如何快速添加100台机器
思路:
克隆监控模板
自动注册和自动发现
使用zabbix的API接口,利用crul,或者python进行开发自己的运维监控平台
#
API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 [1]  用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。

1 sysname
SNMPv2-MIB::sysName.0 = STRING: zabbix
参数解释:
snmpwalk snmp命令,类似zabbix_get
-v 2c 指定使用snmp协议的版本,snmp分为v1 v2 v3
-c public 指定暗号
sysname 类型与zabbix的key


**snmp-OID**

SNMP代理提供大量的对象标识符(OID -Object Identifiers)。一个OID是一个唯一的键值对,该代理存放这些值并让他们可用。

用法:

[root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: zabbix
[root@zabbix ~]# snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux zabbix 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64


**添加主机-snmp**

取消原有的主机模板,重新添加,注意点击原有的模板,取消并清理,否则有些监控项冲突


[外链图片转存中...(img-BUP2xhM3-1614347774182)]

[外链图片转存中...(img-5ACi3Bo5-1614347774183)]

稍微等待,zabbix-server已经变成了snmp监控了

[外链图片转存中...(img-jGnRtrL7-1614347774184)]

### 全网监控方案

```bash
如何利用zabbix去监控整个web集群,假如有50台,100台机器,该怎么去监控。
问题:如何快速添加100台机器
思路:
克隆监控模板
自动注册和自动发现
使用zabbix的API接口,利用crul,或者python进行开发自己的运维监控平台
#
API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 [1]  用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

zabbix 快速入门 的相关文章

  • Potplayer播放器远程访问群晖WebDav本地资源【内网穿透】

    文章目录 本教程解决的问题是 按照本教程方法操作后 达到的效果是 1 使用环境要求 2 配置webdav 3 测试局域网使用potplayer访问webdav 3 内网穿透 映射至公网 4 使用固定地址在potplayer
  • 已下载1万次,PyPI库发现116 个恶意软件包,感染Windows 和 Linux 系统

    安全人员在 Python 包索引 PyPI 仓库中识别出116个恶意软件包 旨在通过定制后门程序感染 Windows 和 Linux 系统 网络安全研究人员在 Python 包索引 PyPI 仓库中识别出116个恶意软件包 旨在通过定制后门
  • 如何用CHAT写岗位职责概述?

    问CHAT 请写份技术部服务端组长岗位概述及工作内容 CHAT回复 技术部服务端组长主要负责带领服务端技术团队开发 测试和优化公司的服务端系统和平台 由于他们的工作直接影响到产品或服务的运行效能和稳定性 因此他们必须拥有丰富的技术知识和经验
  • 服务器的丢包率高怎么办

    网络出现丢包状况了怎么办 具体情况可以从以下几点来判断 1 有可能是线路故障导致的 所以可以用光纤打光仪先判断是否是光纤的问题 2 对于设备方面来说 很多都是网络接口的光纤接触不良等 3 也可能是操作系统的问题 比如网卡问题和网络运营线路问
  • Linux配置Acado

    如果需要使用acado的matlab接口 请移步 Linux Matlab配置Acado 首先 安装必要的软件包 sudo apt get install gcc g cmake git gnuplot doxygen graphviz 在
  • Centos8破解Root密码

    注 Centos7同理 1 重启Centos8系统后 在启动页面中选中第一行 按 e 键进入界面 2 找到linux开头所在行的找到 ro 改为上 rw init sysroot bin bash 同时按下 Ctrl X 跳转到紧急模式 3
  • linux 定时任务crontab编写

    使用命令 crontab e 0 0 sh opt maxwellToMysql create data log sh 编写完保存
  • 思腾合力赞助CCF YOCSEF太原第十一届学术委员会第三次全体会议

    2024年1月6日 由思腾合力赞助的 CCF YOCSEF太原第十一届学术委员会第三次全体会议暨AC换届选举活动 在山西大学举办 华北区教育行业负责人宋肖敏出席本次会议 会议汇聚了众多学术界和企业界的精英 共同探讨人工智能和计算机科学的未来
  • 制作本地yum仓库

    root 192 cd etc yum repos d root 192 yum repos d ls redhat repo root 192 yum repos d vim rpm repo base name baseos gpgch
  • 使用匿名binder实现client向server端的死亡通知

    一 引言 因为binder是跨进程通信 难免会遇到服务端出现异常挂死的情况 这个时候需要通知到客户端进行相应的处理 在网络通信中是非常常见的机制 当然 在binder中 Android也为我们写好了相关的框架 但通过binder源码分析 你
  • 性能分析与调优: Linux 内存观测工具

    目录 一 实验 1 环境 2 vmstat 3 PSI 4 swapon 5 sar 6 slabtop 7 numstat 8 ps 9 top 10 pmap 11 perf 12 bpftrace 二 问题 1 接口读写报错 2 sl
  • TeslaMate特斯拉神器本地Docker部署实现无公网远程访问

    文章目录 1 Docker部署TeslaMate 2 本地访问TeslaMate 3 Linux安装Cpolar 4 配置TeslaMate公网地址 5 远程访问TeslaMate 6 固定TeslaMate公网地址
  • 盘点那些年我们一起玩过的网络安全工具

    大家好 我是IT共享者 这篇文章给大家盘点那些年 我们一起玩过的网络安全工具 一 反恶意代码软件 1 Malwarebytes 这是一个检测和删除恶意的软件 包括蠕虫 后门 流氓 拨号器 间谍软件等等 快如闪电的扫描速度 具有隔离功能 并让
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选

随机推荐

  • 【python学习笔记】seaborn模块

    目录 热力图介绍 seaborn模块绘制热力图 热力图介绍 热力图是一种特殊的图表 它是一种通过对色块着色来显示数据的统计图表 在绘图时 需要指定每个颜色映射的规则 一般以颜色的强度或色调为标准 比如颜色越深的表示数值越大 程度越深 颜色越
  • spark运行报错:(null) entry in command string: null chmod 0644

    在WIndows操作系统中本地运行spark程序 报以下错误 null entry in command string null chmod 0644 后面是目的目录 解决方法 下载hadoop dll文件 并拷贝到c windows sy
  • JS中的call()和apply()方法和区别

    一 方法定义 apply 调用一个对象的一个方法 用另一个对象替换当前对象 例如 B apply A arguments 即A对象应用B对象的方法 call 调用一个对象的一个方法 用另一个对象替换当前对象 例如 B call A args
  • 分析996个词根在各大考纲词汇中的作用(五)总结精选篇

    CET4 CET6 GRE IELTS TOEFL 考研英语总的词汇量为14055 分析词根总数为996 有11544个单词分布在这些词根中 剩下的2511个词汇没有任何词根信息 本文精选5206个跟词根结合最紧密的单词 superword
  • KVM的HVM虚拟机使用非串口方式建立virsh console 连接

    在去年写的文章中 http blog csdn net dobell article details 14442457 写到了怎么利用serial 设备进行console连接 不过比较麻烦 因为1 需要修改虚拟机内部的grub启动选项 2
  • unity学习笔记-有关打包安卓apk的一些注意事项

    unity学习笔记 有关打包安卓apk的一些注意事项 打包到build project的时候报错 报错信息里出现了jdksdk等 打包报错显示andriodfestxml文件版本有问题 有关urp线管环境打包的时候的一些注意事项 在编辑器里
  • 一款开源的文件搜索神器,终于不用记 find 命令了

    Python微信订餐小程序课程视频 https blog csdn net m0 56069948 article details 122285951 Python实战量化交易理财系统 https blog csdn net m0 5606
  • pppd程序的参数——man手册翻译

    文章目录 pppd全称 摘要 描述 常用的选项 ttyname 串口名 speed 波特率 asyncmap map auth call name connect script 连接脚本 crtscts defaultroute defau
  • chatgpt赋能python:Python处理Word文档

    Python处理Word文档 介绍 Microsoft Word是业界最流行的办公文档编辑工具之一 对于文档处理工作 Word是必不可少的工具之一 然而 尽管Word是十分强大的 但在处理大量数据时 手动处理每个文件是费时费力的 幸运的是
  • 数值分析——LU分解(LU Factorization)

    本系列整理自博主21年秋季学期本科课程 数值分析I 的编程作业 内容相对基础 参考书 David Kincaid Ward Cheney Numerical Analysis Mathematics of Scientific Comput
  • Python 多线程 start()和run()方法的区别(三)

    在实例调用的函数中加入打印当前线程的名字 分别用start 方法和run 方法启动线程检查有什么区别 start 方法 import threading import time def worker count 1 while True i
  • Linux epoll 与 Windows IOCP比较

    前言 epoll 和 IOCP IO Completion Ports 分别是 Linux 和 Windows 系统上的高效网络模型 相比其他网络模型 同样是 polling 方式 这两种模型有如下特点 在系统资源允许下 监控的文件描述符没
  • pandas中to_datetime()时间处理

    pandas to datetime arg errors raise utc None format None unit None pandas通常用于处理成组日期 不管这些日期是DataFrame的轴索引还是列 to datetime方
  • 入职字节外包一个月,我离职了····

    有一种打工人的羡慕 叫做 大厂 真是年少不知大厂香 错把青春插稻秧 但是 在深圳有一群比大厂员工更庞大的群体 他们顶着大厂的 名 做着大厂的工作 还可以享受大厂的伙食 却没有大厂的 命 他们就是大厂的 外包员工 什么都做了 和什么都没做其实
  • idea注释快捷键

    具体实现步骤 1 打开系统设置Setting Ctrl Alt S快捷键 2 Editor gt Live Templates gt 点击 号 添加一个templates group来放置自己快捷键 效果图如下 3 选中创建的group g
  • 在Excel VBA中使用字典

    序言 VBA的基础数据类型里面并没有字典类型 但字典其实在很多应用场景中都很有用 那么如何在VBA中使用字典 本文就用几个例子和大家交流探讨一下 场景1 某个医院每天都会从不同的制造商那里进三种材料中的一种 每天的进价都有可能不同 现在公司
  • NodeRed-第三篇:tcp接入

    1 用tcp in节点接入数据 设置为监听 设置端口号 设置输出为buffer 2 用function节点将buffer转换为string var a msg payload msg payload a return msg 3 用json
  • Android语音识别

    今天从网上找了个例子实现了语音识别 个人感觉挺好玩的 就把代码贴出来与大家分享下 Android中主要通过RecognizerIntent来实现语音识别 其实代码比较简单 但是如果找不到设置 就会抛出异常ActivityNotFoundEx
  • 【Java 笔记】使用Fastjson2时,对象转json首字母大小写问题

    开发环境 一 JSON 转 Object 1 问题 2 解决方案 二 Object转 JSON 三 SpringBoot设置fastjson2 为默认 pom xml 2 配置类 四 FastJson2 注解 默认 2 JSONType 类
  • zabbix 快速入门

    zabbix 快速入门 zabbix介绍 Zabbix是由 Alexei Vladishev 开发的一种网络监视 管理系统 基于Server Client架构 可以使用多种方式监视 可以只使用 Simple Check 不需要安装 Clie