一、zabbix简介:

zabbix是完全开源的工具,整合了cacti和nagios等特性      

附:SNMP(udp 161  udp 162)

众多网络工具都支持此协议,比如常见路由交换,常见OS,其既可以做管理端也可以做被管理端,snmp协议大致有3个版本分别是v1 、v2、 v3,无论是v1还是  v2 它们各自的安全性是比较差的,因为传输是明文的, V3的认证密码用MD5/SHA摘要算法加密

很多工具支持网络管理的功能,而对于非网络设备(操作系统),可以完全抛开snmp这种不安全的架构来实现监控的。所以很多工具都是控制端和agent架构,他们有专属的agent

Zabbix的主要功能:​

(1.)具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库、FTP 等通用协议监控、多种告警方式、详细的报表图表绘制)

(2.)支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)

(3.)支持分布式,能集中展示、管理分布式的监控点,扩展性强

(4.)server 提供通用接口(api 功能),可以自己开发完善各类监控(根据相关接口编写程序实现),编写插件容易,可以自定义监控项,报警级别的设置。

(5.)数据收集,支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET;

(6.)自定义的检测;自定义收集数据的频率;

(7.)服务器/代理和客户端模式;

(8.)灵活的触发器;可以定义非常灵活的问题阈值,称为触发器;

(9.)高可定制的报警;发送通知,可定制的报警升级,收件人,媒体类型。

(10.)CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视等等。

硬件监控:Zabbix IPMI Interface 
系统监控:ZabbixAgent Interface 
Java监控:Zabbix JMX Interface 
网络设备监控:Zabbix SNMP Interface 
应用服务监控:Zabbix Agent UserParameter 
MySQL数据库监控:percona-monitoring-plulgins   
URL监控:Zabbix Web 监控

zabbix重要组件说明:

(1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;

(2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;

(3)web interface:zabbix的GUI接口;

(4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;

(5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;

另外,zabbix server、proxy、agent都有自己的配置文件以及log文件,重要的参数需要在这里配置,后面会详细说明。

一个监控系统运行的大概的流程是这样的:

agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

这里agentd收集数据分为主动和被动两种模式:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

zabbix常用的监控架构平台

1、server-agentd模式:

这个是最简单的架构了,常用于监控主机比较少的情况下。

2、server-proxy-agentd模式:

这个常用于比较多的机器,使用proxy进行分布式监控,有效的减轻server端的压力。

zabbix的系统架构:


Zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级开源解决方案。借助Zabbix,可以很轻松地减轻运维人员们繁重的服务器管理任务,实现业务系统的持续运行。下面会逐步介绍Zabbix分布式监控系统的部署及使用

配置好IP、DNS 、网关,确保使用远程连接工具能够连接服务器

二、Zabbix部署前的LNMP环境的搭建过程:


实验环境:

CentOS7.2操作系统

Nnginx-1.10.2.tar.gz

MySQL-5.7.18.tar.gz

PHP-5.6.27.tar.gz

 接下来开始搭建部署LNMP环境~~~~~ok

安装编译工具及库文件

[root@lnmp ~]# yum -y install make apr* autoconf automake curl-devel gcc gcc-c++  openssl openssl-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng*  libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel

安装MySQL数据库服务

本人声明:由于之前介绍如何编译安装MySQL数据库,所以这里不再一一讲解,如果想看详细编译安装5.7.18版本数据库请点击以下链接地址即可查看

MySQL5.7.18编译安装:http://blog.csdn.net/kangshuo2471781030/article/details/79081586


安装Nginx服务


(1.)解压依赖包zlib

[root@lnmp ~]# tar zxf zlib-1.2.8.tar.gz 

说明:不需要编译,只需要解压就行。

(2.)解压依赖包pcre

[root@lnmp ~]# tar zxf pcre-8.39.tar.gz 

说明:不需要编译,只需要解压就行。

(3.)创建用户www和www组,并且把www用户添加到www组里面,不让他登录控制台。

[root@lnmp ~]# groupadd www
[root@lnmp ~]# useradd -g www www -s /sbin/nologin 
(4.)解压Nginx源码包,并进行Nginx的配置

   可以到Nginx官网去下载nginx的源码包:http://nginx.org/download

[root@lnmp ~]# tar zxf nginx-1.10.2.tar.gz 
[root@lnmp ~]# cd nginx-1.10.2/
[root@lnmp nginx-1.10.2]# ./configure --prefix=/usr/local/nginx1.10 --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module  --with-http_flv_module --with-http_mp4_module --with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www

(5.)编译安装Nginx

[root@lnmp nginx-1.10.2]# make &&  make install 

(6.)执行Nginx优化路径,并且启动Nginx服务

[root@lnmp ~]# ln -s /usr/local/nginx1.10/sbin/nginx  /usr/local/sbin/

注意:关闭防火墙或者放行80端口

[root@lnmp ~]# firewall-cmd --permanent --add-port=80/tcp
success
[root@lnmp ~]# firewall-cmd --reload 
success
[root@lnmp ~]# 
(7.)使用浏览器访问Nginx页面,看到如下图所示,说明Nginx服务安装成功!!!



安装PHP服务


(1.)安装PHP依赖扩展库libmcrypt并解压

[root@lnmp ~]# tar zxf libmcrypt-2.5.7.tar.gz 
[root@lnmp ~]# cd libmcrypt-2.5.7/
(2.)配置并编译libmcrypt

[root@lnmp libmcrypt-2.5.7]# ./configure && make && make install 

(3.)执行优化libmcrypt扩展库路径

[root@lnmp libmcrypt-2.5.7]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20.3.5 /usr/local/mysql/lib/libmysqlclient_r.so
(4.)解压php并进行配置

[root@lnmp ~]# tar zxf php-5.6.27.tar.gz 
[root@lnmp ~]# cd php-5.6.27/
[root@lnmp php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl

(5.)编译安装php

[root@lnmp php-5.6.27]# make && make install 

(6.)复制PHP样板,并进行PHP相关的配置 

[root@lnmp php-5.6.27]# cp php.ini-production /etc/php.ini
[root@lnmp php-5.6.27]# vim /etc/php.ini 

编辑配置文件/etc/php.ini ,修改后的内容如下:

找到:
;date.timezone = 
修改为:
date.timezone = PRC #设置时区
找到:
expose_php = On 
修改为:
expose_php = Off #禁止显示php版本的信息
找到:
short_open_tag = Off 
修改为:
short_open_tag = On //支持php短标签
找到:
post_max_size = 8M
修改为:
post_max_size = 16M  //上传文件大小
找到:
max_execution_time = 30
修改为:
max_execution_time = 300  //php脚本最大执行时间
找到:
max_input_time = 60
修改为:
max_input_time = 300  //以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制
always_populate_raw_post_data = -1
mbstring.func_overload = 0

(7.)创建php-fpm服务启动脚本:

[root@lnmp php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@lnmp php-5.6.27]# chmod +x /etc/init.d/php-fpm 
[root@lnmp php-5.6.27]# chkconfig --add php-fpm
[root@lnmp php-5.6.27]# chkconfig  php-fpm on
(8.)提供php-fpm模板配置文件并编辑:

[root@lnmp ~]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@lnmp ~]# vim /usr/local/php5.6/etc/php-fpm.conf
修改内容如下:

pid = run/php-fpm.pid
user = www
group = www
listen =127.0.0.1:9000
pm.max_children = 300
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers =50

(9.)启动php-fpm服务:

配置Nginx支持PHP


[root@lnmp ~]# vim /usr/local/nginx1.10/conf/nginx.conf

修改内容如下:

user  www www;
worker_processes  4;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
use epoll;worker_connections  1024;
}
http {
include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;
sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;
server {
listen       80;server_name  localhost;
charset utf-8;#access_log  logs/host.access.log  main;
location / {
root   html;
index  index.php index.html index.htm;}
location ~ \.php$ { 
root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; 
include fastcgi.conf; }#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;}
location /status {
stub_status on;}}
}
检查配置语句是否有错误!!!

[root@lnmp ~]# nginx -t
nginx: the configuration file /usr/local/nginx1.10/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1.10/conf/nginx.conf test is successful
重载Nginx服务

[root@lnmp ~]# killall -s HUP nginx


测试LNMP环境


进入nginx默认的网页根目录,创建php服务和mysql数据库的.php测试页。

(1.)创建PHP的测试页

[root@lnmp ~]# vim /usr/local/nginx1.10/html/test1.php
<?php
phpinfo()
?>
(2.)创建MySQL的测试页
[root@lnmp ~]# vim /usr/local/nginx1.10/html/test2.php
<?php
$link=mysql_connect('localhost','root','pwd123');
if($link) echo "ok";
mysql_close();
?>
(3.)用浏览器分别访问PHP和mysql服务的测试页进行验证

访问结果:


通过上面两幅图说明,LNMP环境已经成功搭建好了,接下来就可以安装部署zabbix监控服务了!!!


三、监控系统Zabbix-3.2.1服务端的安装


实验环境:

CentOS7.2操作系统

zabbix监控服务器:192.168.197.180  #zabbix的服务端(若要监控本机,则需要配置本机的zabbix agent)

Zabbix agent被监控主机(客户端):192.168.197.175 #zabbix的客户端(被监控端,需要配置Zabbix agent)

注意:zabbix服务器端要提前安装好LNMP环境(mysql,nginx,php5的安装目录均是/usr/local)

(1)创建Zabbix运行的用户和组:

[root@lnmp ~]# groupadd zabbix
[root@lnmp ~]# useradd -g zabbix zabbix
(2.)安装libcurl和net-snmp相关依赖包:

注意:OpenIPMI-devel 和libssh2-devel软件包使用centos在线yum软件源安装

[root@lnmp ~]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel  OpenIPMI-devel  libssh2-devel

(3.)下载并解压Fping

[root@lnmp ~]# tar zxf fping-3.12.tar.gz 
[root@lnmp ~]# cd fping-3.12/
(4.)配置并编译Fping

[root@lnmp fping-3.12]# ./configure && make && make install 

(5.)给Fping设置属主属组以及相关权限

[root@lnmp fping-3.12]# chown root:zabbix /usr/local/sbin/fping 
[root@lnmp fping-3.12]# chmod 4710 /usr/local/sbin/fping 
(6.)下载并解压Zabbix Server

[root@lnmp ~]# tar zxf zabbix-3.2.1.tar.gz 
[root@lnmp ~]# cd zabbix-3.2.1/
(7.)配置Zabbix Server

[root@lnmp zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi

注意:编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用。

--with-ssh2: 是不需要在客户端服务器上面安装Zabbix agent,如果需要使用ssh检查,需要在编译的时候加上这项,最低需要libssh2 1.0.0版本,需要安装ssh开发包

--with-openipmi:用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应等

如果添加了--enable-proxy, 那么会生成get和sender两条命令. 如下, 用于接收agent发生过来的信息, 同时发送给server.

(8.)编译安装Zabbix Server

[root@lnmp zabbix-3.2.1]# make && make install

(9.)给zabbix系统添加软连接

[root@lnmp ~]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@lnmp ~]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ZabbixServer配置与启动

1.创建Zabbix数据库和MySQL用户:


mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.21 sec)mysql> 

2.导入Zabbix初始数据:

 (1.)切换到zabbix的解压目录下

[root@lnmp ~]# cd zabbix-3.2.1/
[root@lnmp zabbix-3.2.1]# cd database/mysql/
[root@lnmp mysql]# pwd
/root/zabbix-3.2.1/database/mysql
[root@lnmp mysql]# ls
data.sql  images.sql  schema.sql
[root@lnmp mysql]# 

(2.)进行zabbix初始数据导入

[root@lnmp mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < schema.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lnmp mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < images.sql  
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lnmp mysql]# mysql -uzabbix -pzabbix -hlocalhost zabbix < data.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.

3.编辑修改zabbix主配置文件/usr/local/zabbix/etc/zabbix_server.conf

[root@lnmp ~]# grep -v "^#" /usr/local/zabbix/etc/zabbix_server.conf | grep -v "^$" 
内容如下:

LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
FpingLocation=/usr/local/sbin/fping

4.创建用于存放zabbix日志的目录并且设置zabbix的属主属组权限

[root@lnmp ~]# mkdir -p /usr/local/zabbix/logs
[root@lnmp ~]# chown -R zabbix:zabbix /usr/local/zabbix/
5.启动Zabbix Server

[root@lnmp ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

 出现上图报错信息,解决方法如下:

在ld.so.conf中加入/usr/local/mysql/lib

[root@lnmp zabbix-3.2.1]# vim /etc/ld.so.conf
添加内容如下:

/usr/local/mysql/lib
/usr/local/lib

[root@lnmp zabbix-3.2.1]# ldconfig 

6.再次执行zabbix_server启动

[root@lnmp ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

7.添加开机启动脚本

[root@lnmp ~]# cd zabbix-3.2.1/
[root@lnmp zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server
[root@lnmp zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
[root@lnmp zabbix-3.2.1]# chmod +x /etc/rc.d/init.d/zabbix_server 
[root@lnmp zabbix-3.2.1]# chmod +x /etc/rc.d/init.d/zabbix_agentd 
[root@lnmp zabbix-3.2.1]# chkconfig --add zabbix_server
[root@lnmp zabbix-3.2.1]# chkconfig --add zabbix_agentd
[root@lnmp zabbix-3.2.1]# chkconfig zabbix_server on
[root@lnmp zabbix-3.2.1]# chkconfig zabbix_agentd on
8.修改zabbix开机启动脚本中的zabbix安装目录

(1.)编辑修改服务端配置文件
[root@lnmp ~]# vim  /etc/rc.d/init.d/zabbix_server 
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid    #pid文件路径
:wq! #保存退出

(2.)编辑修改客户端配置文件

[root@lnmp ~]# vim  /etc/rc.d/init.d/zabbix_agentd 
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid  #pid文件路径
:wq! #保存退出

(3.)重载,并重新启动zabbix服务

[root@lnmp ~]# systemctl daemon-reload       
[root@lnmp ~]# /etc/init.d/zabbix_server stop
Stopping zabbix_server (via systemctl):                    [  OK  ]
[root@lnmp ~]# netstat -anpt | grep zabbix[root@lnmp ~]# /etc/init.d/zabbix_server start
Starting zabbix_server (via systemctl):                    [  OK  ]
[root@lnmp ~]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      53552/zabbix_server 
[root@lnmp ~]# 

注意:关闭防火墙或设置防火墙规则

[root@lnmp ~]# firewall-cmd --permanent --add-port=10051/tcp
success
[root@lnmp ~]# firewall-cmd  --reload 
success
[root@lnmp ~]# 
9.配置并安装zabbix web页面

(1.)在安装目录将frontends拷贝到指定的web root:

[root@lnmp ~]# cd /root/zabbix-3.2.1/
[root@lnmp zabbix-3.2.1]# cp -r frontends/php/ /usr/local/nginx1.10/html/zabbix
[root@lnmp zabbix-3.2.1]# chown -R www:www /usr/local/nginx1.10/html/zabbix/

注:/usr/local/nginx/html为Nginx默认站点目录 www为Nginx运行账户

注:PHP需要至少开启扩展:

gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql

(2.)如下,查看是否包括了上面所提到的扩展模块

[root@lnmp ~]# /usr/local/php5.6/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

访问Web界面http://192.168.197.180/zabbix,进行相关web配置,配置完成后使用默认用户admin(密码:zabbix)登陆即可

(3.)进入ZABBIX WEB安装画面:


(4.)点击下一步,进入ZABBIX检测画面

(5.)点击下一步,对数据库进行设置,这里如果数据库在本地的话端口可以使用0。

(6.)点击Next step 一下步进行zabbix server 细节的设置  这一步可以默认


(7.)点击下一步,在这过程中会执行自动安装,安装完成后  如果没有错误就会进入完成画面


(8.)点击Fish完成按钮,完成界面有设置文件放在服务器的位置,请记下来


(9.)登录zabbix监控系统。(使用admin用户和默认密码zabbix进行登录)


(10.)登录后画面如下


至此 ZABBIX的基础安装完成!!!

注意:


1.显示简体中文界面

在安装数据库时已经将zabbix库设置了utf-8字符

首先确定zabbix开启了中文支持功能:

(1.)登录到zabbix服务器的数据目录下(前面部署的zabbix数据目录是/usr/local/nginx1.10/html/zabbix/),打开 locales.inc.php文件进行查看。


[root@lnmp include]# vim locales.inc.php

内容如下:

(2.)登陆zabbix后,点击右上角的“用户”图标,将语言设置为“中文”:


(3.)按照如图选择Chinese(zh_CN),点击update:


(4.)更改后,显示中文版如下


2.解决zabbix绘图中出现中文乱码问题



通过上面这幅图所示,出现了乱码解决方法如下:

a.从windows下控制面板->字体->选择一种中文字库例如“楷体”


b.我们也可以将Windows的字体下载到本地,然后用rz命令再上传到zabbix服务端即可。



c.把它拷贝到zabbix的web端的fonts目录下例如:/usr/local/nginx1.10/html/zabbix/fonts/

[root@lnmp ~]# cd /usr/local/nginx1.10/html/zabbix/fonts/
[root@lnmp fonts]# pwd
/usr/local/nginx1.10/html/zabbix/fonts
[root@lnmp fonts]# ls
DejaVuSans.ttf  simsun.ttf
[root@lnmp fonts]# 

d.并且将之前的字体文件DejaVuSans.ttf移动到别处


e.然后,接着修改代码include/defines.inc.php文件中的字体配置,将里面关于字体设置从DejaVuSans替换成simsun文件  

vi替换技巧:%s/DejaVuSans/simsun
其中:simkai为字库名字,不包含ttf后缀
# cd/usr/local/nginx1.10/html/zabbix
# vi include/defines.inc.php
在vi编辑器的末行模式下输入%s/DejaVuSans/simsun
这样,修改后,zabbix监控图形中的中文字就不会出现乱码了

保存退出,再次刷新zabbix监控页面,就没有乱码了!!!


四、监控系统Zabbix-3.2.1客户端的安装


既然要监控,我们就要添加要监控的主机,在添加主机之前我们首先要在被检测主机上面安装agent,安装agent比较简单,我们也是按照安装server的流程,下载软件包,在编译的时候,我们只选择agent。

192.168.197.175作为zabbix的被监控端,提供web和mysql应用

(1.)安装解压Zabbix,配置Zabbix agent:
[root@zabbix ~]# tar zxf zabbix-3.2.1.tar.gz 
[root@zabbix ~]# cd zabbix-3.2.1/
[root@zabbix zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent


(2.)编译安装zabbix及zabbix_agent

[root@zabbix zabbix-3.2.1]# make && make install

(3.)添加zabbix系统服务,以及创建zabbix用户和组、创建zabbix的日志目录,并且设置zabbix用户相关的属主属组权限。

[root@zabbix zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix zabbix-3.2.1]# mkdir -p /usr/local/zabbix/logs
[root@zabbix zabbix-3.2.1]# groupadd zabbix
[root@zabbix zabbix-3.2.1]# useradd -g zabbix zabbix
[root@zabbix zabbix-3.2.1]# chown -R zabbix:zabbix /usr/local/zabbix/
(4.)配置开机自动启动。

[root@zabbix ~]# chkconfig --add zabbix_agentd
[root@zabbix ~]# chkconfig zabbix_agentd on
(5.)修改zabbix开机启动脚本中的zabbix安装目录

[root@zabbix ~]# vim /etc/rc.d/init.d/zabbix_agentd 
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid  #pid文件路径
:wq! #保存退出

(6.)重载zabbix服务

[root@zabbix ~]# systemctl daemon-reload
(7.)编辑修改zabbix_agentd.conf
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
grep -v "^#" /usr/local/zabbix/etc/zabbix_agentd.conf | grep -v "^$"
内容如下:

PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=192.168.197.180
ListenPort=10050
ServerActive=192.168.197.180
Hostname=zabbix
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

注意:

其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用

来允许192.168.197.180这个ip来我这取数据。而serverActive的192.168.197.180的意思是,客户端主动提交数据给他。

Hostname=XXX,这个定义的名字必须和web页面里面host的名字一样。

(8.)启动zabbix_agentd客户端:


注意:关闭防火墙或者设置防火墙规则。

[root@zabbix ~]# firewall-cmd --permanent --add-port=10050/tcp
success
[root@zabbix ~]# firewall-cmd --reload 
success
[root@zabbix ~]# 


zabbix客户端安装配置完毕,到此,zabbix3.2.1监控系统的基本环境安装完成!!!


五、实现zabbix添加监测项


1.添加对Linux主机的监控


在浏览器中打开:http://192.168.31.225/zabbix,登录zabbix,先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等。

(1.)登录zabbix,先在“配置”-“主机”里单击”创建主机”

(2.)点击”主机”标签,填写相关信息



注意:图中的“主机名称”要和zabbix_agentd.conf文件中设置的“Hostname”后面的名称一致!

主机名称:192.168.31.250
群组:Linux servers
agent代理程序接口ip:192.168.31.250
已启用:勾选
其它选项默认即可
(3.)切换到模板界面


(4.)选择:Template OS Linux,点添加



给另一台zabbix服务添加模板:


至此,Zabbix监控Linux主机设置完成!!!


过一会查看监控效果图如下:


要出现上图显示效果,需要等待几分钟即可!!!

六、在Zabbix_agent(客户端)上搭建Apache网站,使用Zabbix_server服务端进行监控测试


1.安装Apache服务(zabbix_agent主机操作)

(1.)安装httpd服务

[root@server2 ~]# yum -y install httpd 

(2.)进入Apache默认网站根目录下(/var/www/html)创建测试网页

[root@server2 ~]# cd /var/www/html/
[root@server2 html]# echo "<html><head><body><h1>My is kangshuo</h1></body></head></html>" >/var/www/html/index.html
[root@server2 html]# cat /var/www/html/index.html 
<html><head><body><h1>My is kangshuo</h1></body></head></html>
[root@server2 html]# 
(3.)启动Apache服务

[root@server2 html]# systemctl  start httpd
(4.)访问Apache网站

通过上图所示说明,Apache网站搭建成功!!!接下来在zabbix服务端上进行测试!!!

2.配置zabbix_server监控Apache网站

(1.)应用集配置

配置----->主机------>选择web检测

不断刷新Apache网页进行测试,效果如下:


(2.)触发器配置

在这里触发器已经配置好了,接下来关闭Apache服务,查看状态!!!

当web服务访问不等于200ok时就会启用触发器 严重!!!


七、zabbix3.0 server已自带mysql的模板了,只需配置好agent客户端,然后在web端给主机增加模板就行了,使用Zabbix_server服务端进行监控MySQL数据库测试


1.Zabbix_agent客户端操作

(1.)首先在客户端的mysql里添加权限,即本机使用zabbix账号连接本地的mysql


(2.)在zabbix_agent服务目录下创建.my.cnf 连接文件,zabbix安装目录是/usr/local/zabbix

[root@server2 ~]# cd /usr/local/zabbix/etc/
[root@server2 etc]# vim .my.cnf
[client]
user=zabbix
password=123456

注意:

如果在数据库grant授权时,针对的是localhost,这个.my.cnf里面就不用加host参数了【如上配置】

但如果grant授权时针对的是本机的ip(如192.168.197.175),那么在.my.cnf文件里就要加上host参数进行指定了

即在.my.cnf文件就要加上:

host=192.168.197.175
socket= /usr/local/mysql/mysql.sock
user=zabbix
password=123456
(3)配置MySQL的key文件, 这个可以从zabbix3.2安装时的解压包里拷贝过来,是从zabbix_server服务端安装时解压目录

/root/zabbix-3.2.1/conf/zabbix_agentd/userparameter_mysql.conf 拷贝到zabbix_agent客户端上的/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 目录下的!!!

[root@server2 ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@server2 zabbix_agentd.conf.d]# pwd
/usr/local/zabbix/etc/zabbix_agentd.conf.d
[root@server2 zabbix_agentd.conf.d]# cp /root/zabbix-3.2.1/conf/zabbix_agentd/userparameter_mysql.conf ./
[root@server2 zabbix_agentd.conf.d]# ls userparameter_mysql.conf 
userparameter_mysql.conf
[root@server2 zabbix_agentd.conf.d]# 

然后查看 userparameter_mysql.conf 文件,看到类似 HOME=/var/lib/zabbix 的路径设置,把路径全都替换为 /usr/local/zabbix/etc/,也就是上面的.my.cnf文件所在的目录路径。
另外,注意userparameter_mysql.conf 文件里的mysql命令路径(提前做好mysql的系统环境变量,以防mysql命令不被系统识别)

[root@server2 zabbix_agentd.conf.d]# vim userparameter_mysql.conf 
内容如下:

# For all the following commands HOME should be set to the directory that has .my.cnf file with password information.# Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert].
# Key syntax is mysql.status[variable].
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc/ mysql -N | awk '{print $$2}'# Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data].
# Key syntax is mysql.size[<database>,<table>,<type>].
# Database may be a database name or "all". Default is "all".
# Table may be a table name or "all". Default is "all".
# Type may be "data", "index", "free" or "both". Both is a sum of data and index. Default is "both".
# Database is mandatory if a table is specified. Type may be specified always.
# Returns value in bytes.
# 'sum' on data_length or index_length alone needed when we are getting this information for whole database instead of a single table
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc/ mysql -N'
UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc/ mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

(4)按照上面修改完之后检查一下,然后重启zabbix_agent

[root@server2 ~]# pkill -9 zabbix_agent
[root@server2 ~]# netstat -anpt | grep zabbix_agent
[root@server2 ~]# /usr/local/zabbix/sbin/zabbix_agentd 
[root@server2 ~]# netstat -anpt | grep zabbix_agent

(5.)接着在zabbix_server服务端进行命令行测试[下面的192.168.197.175是客户端的ip]

[root@lnmp zabbix]# /usr/local/zabbix/bin/zabbix_get -s 192.168.197.175 -p 10050 -k "mysql.status[Uptime]"


如果出现类似这一串key的数字,就说明配置ok,服务端能监控到客户端的mysql数据了!!!
成功之后在监控界面添加主机对应的MySQL数据库模板就ok了!!!

若下面报错

[root@lnmp zabbix]# /usr/local/zabbix/bin/zabbix_get -s 192.168.197.175 -p 10050 -k "mysql.status[Uptime]"

sh: mysql: command notfound

解决方法:

userparameter_mysql.conf中关于mysql命令前面添加绝对路径即可!!!


注意:zabbix_get命令介绍

参数说明:

-s --host:指定客户端主机名或者IP
-p --port:客户端端口,默认10050
-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。
-k --key:你想获取的key
zabbix_get获取数据
获取负载
# zabbix_get -s 192.168.31.250 -p 10050 -k "system.cpu.load[all,avg15]"
获取主机名
# zabbix_get -s 192.168.31.250 -p 10050 -k "system.hostname"

(6.)登录zabbix监控界面,在“配置”-“模板”里可以看到自带的mysql监控模板

(7.)在相应主机监控配置里添加mysql的监控模版(zabbix自带的)即可。

(8.)下面是mysql监控项的效果图:

选择检测中选项----->图形选项

【1】监控mysql的带宽:在zabbix前端可以实时查看mysql发送接收的字节数。其中bytes received表示从所有客户端接收到的字节数,bytes sent表示发送给所有客户端的字节数。


【2】监控mysql的操作状态:在zabbix前端可以实时查看各种SQL语句每秒钟的操作次数。



Zabbix监控服务端、客户端都已经部署完成,被监控主机已经添加,Zabiix监控运行

正常!!!


八、zabbix3.2.1邮件报警设置


在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱。

以下操作在Zabbix监控服务端进行

1.安装配置sendEmail并利用sendEmail命令发送邮件进行测试

(1.)安装sendemail相关的依赖包

[root@lnmp ~]# yum -y install perl-Net-SSLeay perl-IO-Socket-SSL   

官网下载sendemail软件地址:

Sendmail官网下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

(2.)解压软件,然后将sendemail复制到/usr/local/bin/目录下,并加上可执行权限,然后修改用户和群组。

[root@lnmp ~]# tar zxf sendEmail-v1.56.tar.gz 
[root@lnmp ~]# cd sendEmail-v1.56/
[root@lnmp sendEmail-v1.56]# cp sendEmail /usr/local/bin/sendEmail
[root@lnmp sendEmail-v1.56]# chown zabbix:zabbix /usr/local/bin/sendEmail 

注意:可以执行# /usr/local/bin/sendEmail -h查看sendEmail的帮助

(3.)发送邮件测试

[root@lnmp ~]# /usr/local/bin/sendEmail -f  15011147011@163.com -t 15011147011@163.com -s smtp.163.com -u "Zabbix报警测试" -o message-content-type=html -o message-charset=utf8 -xu 15011147011@163.com -xp 密码 -m "Hello BLXH net to mite you"
命令主要选项说明:

/usr/local/bin/sendEmail                    #命令主程序
-f  from@qq.com                         #发件人邮箱
-t to@qq.com                             #收件人邮箱
-s smtp.qq.com                          #发件人邮箱的smtp服务器
-u "我是邮件主题"                              #邮件的标题
-o message-content-type=html          #邮件内容的格式,html表示它是html格式
-o message-charset=utf8                  #邮件内容编码
-xu from@qq.com                      #发件人邮箱的用户名
-xp xxxxxxxxx                           #发件人邮箱密码 #如果是126/qq邮箱必须使用授权码登录
-m "我是邮件内容"                            #邮件的具体内容


到163邮箱查看是否有发送后的邮件消息,如图所示:

2.创建zabbix报警脚步

(1.)进入/usr/local/zabbix/share/zabbix/alertscripts/目录,然后在这个目录下创建报警脚本sendmail.sh
[root@lnmp ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/
[root@lnmp alertscripts]# vim mail.sh
下面是脚本内容:
#!/bin/bash
/usr/local/bin/sendEmail -o tls=auto -f 15011147011@163.com -t 15011147011@qq.com -s smtp.163.com -u "Zabbix报警通知" -o message-content-type=html -o message-charset=utf8 -xu 15011147011@163.com -xp 密码 -m "Server_agent服务已经停止,请及时修复" 


(2.)给脚本添加可执行权限

[root@lnmp alertscripts]# chmod +x mail.sh 
(3.)测试脚本发邮件

[root@lnmp alertscripts]# sh mail.sh 


查看使用脚本发送后的邮件,如图所示:


发送邮件时产生的几种错误


错误(1):

*******************************************************************

 Using the defaultof SSL_verify_mode of SSL_VERIFY_NONE for client

is deprecated! Please set SSL_verify_mode toSSL_VERIFY_PEER

together with SSL_ca_file|SSL_ca_path for verification.

 If you reallydon't want to verify the certificate and keep the

connection open to Man-In-The-Middle attacks please set

SSL_verify_mode explicitly to SSL_VERIFY_NONE in yourapplication.

*******************************************************************

at /usr/local/bin/sendEmail line 1906.

invalid SSL_version specified at/usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415


解决方法:

方法(1.)

原因是sendemail软件和perl5里面的ssl版本不兼容导致的! ! !

在sendemail中1906行的内容,从if (!IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {修改为if (!IO::Socket::SSL->start_SSL($SERVER)) {即不指定SSL的版本,让程序来自己选择


方法(2.)

centos7.2默认perl的版本是5.16,centos6.5的是5.10,把7的版本换成5.10老版本,就可以正常发邮件了。


#### perl安装wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gztar -zxf perl-5.10.0.tar.gzcd perl-5.10.0./configure.gnu -des -Dprefix=/usr/local/perlecho $?makemake testmake installmv /usr/bin/perl /usr/bin/perl.bakln -s /usr/local/perl/bin/perl /usr/bin/perlperl -v


 解压安装perl并进行配置

[root@lnmp ~]# tar zxf perl-5.10.0.tar.gz 
[root@lnmp ~]# cd perl-5.10.0/
[root@lnmp perl-5.10.0]# ./configure.gnu -des -Dprefix=/usr/local/perl

  编译测试安装

make && make test && make install

执行优化路径

 mv /usr/bin/perl /usr/bin/perl.bakln -s /usr/local/perl/bin/perl /usr/bin/perl

查看安装完成后perl的版本


方法(3.)

发送邮件时在命令行上增加-o tls=no 选项即可!!!


错误(2.)

不管你使用的是163/126邮箱还是qq邮箱,你都必须开通pop3服务,而且126/qq邮箱还要求使用第三方客户端发送邮件时必须使用授权码登录,使用账号密码验证时,会出现下面图片中的错误。


例如:QQ邮箱的授权码,登录QQ邮箱去设置如下图所示。



经过上面两个问题的处理后就可以正常发送邮件了!!!!!

3.zabbix web端配置

(1.)上面的邮件脚本配置好后,就要在web端添加报警媒介,在web页面的管理,报警媒介类型页面,点击右边的创建媒体类型


(2.)进入创建页面,然后输入名称“邮件报警脚本”,类型选择脚本,名称选择mail.sh,点击添加按钮,添加三个脚本参数,分别是{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESAGE},分别对于mail.sh中的to、subject和body。添加完成后点下面的添加按钮,我们的报警媒介就创建完成了

(3.)创建好报警媒介后,就需要将报警媒介关联到我们的用户。点击管理,用户,然后选择我们的用户admin,也可新建一个用户,点击用户名就进入到用户配置界面。点击报警媒介,然后点添加,选择我们上一步创建的邮件报警脚本,输入收件人,选择报警时间和类型,然后点击添加,就将创建好的报警媒介关联到我们的用户上面了。

新建用户:



设置权限:



(4.)现在需要做的是,创建一个触发动作,即系统出现故障时,触发这个动作,然后给我们的邮箱发送报警邮件。点击配置,选择动作,然后点击右边的创建动作。在动作这一页名称中写入我们定义的动作名以及触发条件。

(5.)切换到“操作”进行设置


步骤是1-3,也即是从1开始到3结束。一旦故障发生,就是执行Email.sh脚本发生报警邮件给zabbix用户。 
假如故障持续了1个小时,它也只发送3次,第1-3次(即前3次)邮箱发送给zabbix用户,时间间隔为0秒。
如果改成1-0,0是表示不限制.无限发送  

(6.)切换到“恢复”进行设置

添加好以后就可以看到我们添加的动作名,以及该动作已启用的状态。

4.报警测试


(1.)将192.168.197.175服务器的zabbix_agent进程关闭,然后到163邮箱发现可以正常收到故障报警邮件,如下图所示。




(2.)最后,点击”报表“->”动作日志“,可以看到触发动作的次数(右边还看查看到邮件发送状态“已发送”)。



到这里有关搭建Zabbix监控系统服务以及实现邮件报警功能就演示完毕了!!!!Zabbix是个不错的监控系统,功能各方面都比较出色,如果没有看懂多看几遍即可!!!!希望对你有所帮助!!!!再见!!!!再见再见再见@@@@@











































查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 一个Servlet教程 经典

    一个Servlet教程 一、Servlet的基本结构。//Servlet de 基本结构import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class SomeServlet extends HttpServlet {public void doGet(HttpServletRequest request,HttpServletResponse response) throws…...

    2024/4/30 19:48:09
  2. Python编写打飞机小游戏

    这是一个简单的打飞机的游戏,运行main.py即可!最近在学python,总要写一定小项目练练手的。所以就写了个仿微信打飞机的小游戏,有参照网上开源的项目的~后续功能正在完善中…效果图代码实现本项目是基于pygame模块的,所以如果要运行程序,需要安装pygame模块。resources包下…...

    2024/4/17 17:06:04
  3. Android内存(内存溢出 内存不足 内存低 .)优化详解.

    Android内存(内存溢出 内存不足 内存低 .)优化详解 Android内存泄露 前言不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。 其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用…...

    2024/4/30 23:19:06
  4. C/C++:TCP的三次握手和四次挥手(实验)

    C/C++:TCP的三次握手和四次挥手(实验)建立TCP连接需经过三次握手,释放TCP连接需经过四次挥手。TCP报文段的首部中,比较重要的字段除了源端口、目的端口,还有以下几个字段与TCP连接的建立与释放相关:1)序号序号长度4字节。序号最大值是2的32次方(4B=4*8=32bit)减一,最…...

    2024/4/30 16:52:14
  5. Servlet 教程 各个知识点简单概括

    Servlet 教程 http://www.ziqiangxuetang.com/servlet/servlet-cookies-handling.htmlServlet 教程 Servlet 教程Servlet简介Servlet 环境设置Servlet生命周期Servlet 实例Servlet表单数据Servlet 客户端 HTTP 请求Servlet服务器 HTTP 响应Servlet HTTP 状态码Servlet编写过滤器…...

    2024/4/17 17:07:04
  6. 使用SpringBoot集成邮件模块。

    使用SpringBoot集成邮件模块。在自己的博客新加了评论功能,为了能让自己及时的看到别人在我的个人博客留言信息,我在项目中使用了邮件模块,只要别人在我的博客进行了留言、评论,我将会在第一时间看到并且回复。【因为我也不是每时每刻都在后台系统查看信息】。所以就是方便…...

    2024/4/11 18:37:34
  7. 一分钟搞懂SMTP/POP/IMAP邮件服务

    今天试着搭个邮件服务器玩玩的时候突然遇到个问题,那些SMTP,POP,IMAP到底啥意思?有什么区别?于是网上查了下,一般都说smtp用来发邮件,pop用来收邮件,imap也是用来收邮件。然后稍微整理了下自己的思路,觉得大致是这么个关系。 (以下假设邮件名后缀与邮件服务器域名不同)…...

    2024/5/1 0:43:04
  8. Servlet教程(一)HelloWorld

    Servlet教程(一)HelloWorldServlet开发采用java通用的 配置 +代码 的模式配置web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app><servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.…...

    2024/4/30 22:15:23
  9. TCP协议三次握手过程分析

    TCP协议三次握手过程分析TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结…...

    2024/4/18 21:26:17
  10. Android内部存储和外部存储以及缓存清理和内存清理!

    android内部的存储结构和路径获取方法:http://www.tuicool.com/articles/AvUnqiy清除本地数据和缓存:http://www.cnblogs.com/rayray/p/3413673.html计算缓存和内存数据的大小:http://blog.csdn.net/wf_zeng/article/details/9378065计算缓存大小以及删除的方法:http://www…...

    2024/4/30 19:06:41
  11. TCP的三次握手和四次挥手以及状态转移过程

    1、TCP的三次握手即客户端与服务器端建立连接的过程(三次握手一般是由客户端发起的建立连接请求,connect返回连接成功表示三次握手完成)第一次握手:客户端发起建立连接请求,并发送SYN和一个序列号i第二次握手:服务器确认与客户端建立连接,发送SYN和一个自己的序列号j,同…...

    2024/4/19 5:28:27
  12. PHPthinking人力资源管理系统

    文章来源:PHP论坛地址:http://bbs.phpthinking.com/forum.php?mod=viewthread&tid=462&page=1#pid772一、项目主要内容企业人员管理,企业部门管理,员工信息管理,员工工资管理,工作任务发布,绩效考核,邮件发送等,具体各项功能会在开发人员确定后,陆续公布在开…...

    2024/4/22 14:59:38
  13. 如此详细的 Servlet 教程,不来看看么?

    文章目录1. Servlet 程序1.1 什么是 Servlet1.2 如何手动创建实现 Servlet 接口1.3 Servlet 的生命周期1.4 如何通过 IDEA 快速创建 Servlet 程序1.5 整个 Servlet 类的继承体系2. ServletConfig 类2.1 ServletConfig 类的三大作用3. ServletContext 类3.1 ServletContext 是啥…...

    2024/4/19 23:25:58
  14. 学用Lotus办公——电子邮件系统的创建

    电子邮件是Lotus Notes系统中最为强大的功能之一,在Lotus Notes系统中创建的电子邮件系统,不仅可以在Notes邮件系统间互通信息,还可以实现Notes用户与使用其他电子邮件产品(如:Microsoft Exchange)的用户之间电子邮件通信。使用Lotus Notes电子邮件系统用户不但可以与局域…...

    2024/4/18 13:11:00
  15. 用pandas处理大数据———减少90%内存消耗的小贴士

    原文地址https://www.dataquest.io/blog/pandas-big-data/一般来说,用pandas处理小于100兆的数据,性能不是问题。当用pandas来处理100兆至几个G的数据时,将会比较耗时,同时会导致程序因内存不足而运行失败。当然,像Spark这类的工具能够胜任处理100G至几个T的大数据集,但要…...

    2024/4/19 14:06:57
  16. tcpdump使用时tcp三次握手抓包,ack置1的一些说明

    在使用tcpdump抓包的时候,发现tcp的三次握手,第三次的时候竟然将ack置1了,百思不得其解,难道是现在tcp的协议变了吗,让我困惑不已,直接上结果 [root@www test_cpp]# tcpdump -i any port 53 -nn -v tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capt…...

    2024/4/20 7:25:03
  17. Servlet详细教程

    如需更多java视频教程资源、面试资源、Java项目资源,请关注公众号:最高权限比特流,回复“java”获取! Servlet简介 servlet是Server Applet的简称,翻译过来就是服务程序.好吧,这么说你可能还是不太懂,简单的讲,这个servlet是运行在服务器上的一个小程序,用来处理服务…...

    2024/4/17 17:07:04
  18. 【181010】VC++ 大富翁4_大富翁游戏源码

    大富翁4 VC++源代码,大富翁游戏黑盒测试,实现《大富翁-4》一些基本功能。如:人物行走、买地、特殊人物实现、人物投资、股票买卖、各种功能卡片、道具的实现。本下载包内包括大富翁4 VC++源代码、测试报告、需求分析报告、大富翁设计概要.ppt、类图.vsd等。为使用VC++开发游…...

    2024/4/19 20:31:24
  19. windows 下搭建邮件服务器

    1、先做DNS的配置因为要用到DNS对邮件服务器作域名解析,所以要创建一个DNS! 2、DNS的安装:开始菜单->管理工具->管理报务器;在弹出的界面上点击安装DNS服务器就行了!3、DNS的打开:开始菜单->管理工具->DNS;点击就能打开了!4、DNS的配置:在配置界面上-&g…...

    2024/4/17 17:07:04
  20. tcp三次握手示意图

    ...

    2024/4/26 16:05:53

最新文章

  1. MySQL —— 表的基本操作

    一、创建 1.语法 create table 表名称( 自定义变量1, 自定义变量2, 自定义变量3&#xff08;最后一个变量末尾不需要加任何标点符号&#xff09; )charset字符集 collate校验集 engine存储引擎; ps&#xff1a;若是不具体给字符集、校验集、储存引擎&#xff0c;则采用配置文件…...

    2024/5/1 0:49:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 动态规划刷题(算法竞赛、蓝桥杯)--饥饿的奶牛(线性DP)

    1、题目链接&#xff1a;饥饿的奶牛 - 洛谷 #include <bits/stdc.h> using namespace std; const int N3000010; vector<int> a[N];//可变数组vector存区间 int n,mx,f[N]; int main(){scanf("%d",&n);for(int i1;i<n;i){int x,y;scanf("%…...

    2024/4/30 1:55:44
  4. MATLAB 自定义中值滤波(54)

    MATLAB 自定义中值滤波(54) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 中值滤波,是一种常见的点云平滑算法,改善原始点云的数据质量问题,MATLAB自带的工具似乎不太友好,这里提供自定义实现的点云中值滤波算法,具体效果如下所示: 中值滤波前: 中值滤波后:…...

    2024/4/30 7:21:17
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57