文档章节

云监控 Nagios 安装步骤

一只小逛
 一只小逛
发布于 2013/12/11 00:01
字数 2876
阅读 14330
收藏 334
点赞 63
评论 37

前言

最近在研究云监控的相关工具,之前写过Ganglia的安装步骤,这回来记录下Nagios的安装步骤。

本文不讲解相关原理,若想了解请参考其他资料.

本文目的: 即使之前未触过nagios,也能按照文中步骤搭建自己的nagios监控集群.

@Author  duangr 

@Website http://my.oschina.net/duangr/blog/183160

1. Nagios简介

Nagios是一个可运行在Linux/Unix平台之上的开源监视系统,可以用来监视系统运行状态和网络信息。Nagios可以监视所指定的本地或远程主机以及服务,同时提供异常通知功能。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

2. 相关环境

Host Name IP OS
Arch
duangr-1 192.168.56.10 CentOS 6.4 x86_64
duangr-2 192.168.56.11
CentOS 6.4
x86_64
duangr-3 192.168.56.12
CentOS 6.4
x86_64

3. 部署规划

监控服务主节点(Master)
duangr-1
被监控从节点(Slave) duangr-2, duangr-3

Nagios主节点需要安装:

  • nagios

  • nagios-plugin

  • nrpe

  • php

  • apache

Nagios从节点需要安装:

  • nagios-plugin

  • nrpe

安装路径规划

nagios安装路径
/usr/local/nagios
php安装路径 /usr/local/php
apache安装路径 /usr/local/apache2

4. 代码获取

5. 前提依赖

5.1 主机环境检查(全部节点)

# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
gcc-4.4.7-3.el6.x86_64
glibc-2.14.1-6.x86_64
glibc-common-2.14.1-6.x86_64
gd-2.0.35-11.el6.x86_64
package gd-devel is not installed
package xinetd is not installed
openssl-devel-1.0.0-27.el6.x86_64

若有缺失,请先安装. 可通过如下几个镜像网站下载相关安装包:

  • http://rpm.pbone.net/

  • http://mirrors.163.com/centos/6.4/os/x86_64/Packages/

  • http://mirrors.sohu.com/centos/6.4/os/x86_64/Packages/

安装后再次检查如下:

# rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
gcc-4.4.7-3.el6.x86_64
glibc-2.14.1-6.x86_64
glibc-common-2.14.1-6.x86_64
gd-2.0.35-11.el6.x86_64
gd-devel-2.0.35-11.el6.x86_64
xinetd-2.3.14-38.el6.x86_64
openssl-devel-1.0.0-27.el6.x86_64

6. 编译安装

6.1 创建用户nagios(全部节点)

useradd nagios -d /usr/local/nagios
passwd nagios   (密码自定义)

6.2 安装nagios主程序(主节点安装)

tar -zxf nagios-4.0.2.tar.gz
cd nagios-4.0.2
./configure --prefix=/usr/local/nagios     
make all
make install && make install-init && make install-commandmode && make install-config

将nagios添加为服务

chkconfig --add nagios 
chkconfig nagios off
chkconfig --level 35 nagios on
chkconfig --list nagios    
nagios          0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭

6.3 安装nagios插件(全部节点安装)

tar -zxf nagios-plugins-1.5.tar.gz
cd nagios-plugins-1.5
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios      
make && make install

如果出现mysql相关的编译错误,是mysql的默认安装路径被修改导致的,调整with-mysql后重新make

./configure --prefix=/usr/local/nagios  --with-mysql=/usr/local/mysql
make && make install

6.4 安装NRPE(全部节点安装)

tar -zxf nrpe-2.15.tar.gz
cd nrpe-2.15
./configure --enable-command-args
make all
make install-plugin

下面步骤只需要在被监控节点执行

make install-daemon && make install-daemon-config && make install-xinetd

6.4.1 被监控节点配置

如果是被监控节点,需要配置NRPE已守护进程运行(通过xinetd来运行)

1、更改/etc/xinetd.d/nrpe文件,设置允许nagios主节点服务器连接

vi /etc/xinetd.d/nrpe
only_from       = 127.0.0.1 192.168.56.10

2、在/etc/services结尾增加:

nrpe      5666/tcp       # NRPE

3、增加对参数的支持

vi /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe=1

4、启动xinetd

service xinetd restart

5、验证nrpe是否监听

netstat -at | grep nrpe

6、测试nrpe是否正常运行

/usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.15

6.4.2 主节点配置

如果是监控服务主节点,在全部被监控节点NRPE配置完成后,可以依次做下检测

/usr/local/nagios/libexec/check_nrpe -H 192.168.56.11
NRPE v2.15
/usr/local/nagios/libexec/check_nrpe -H 192.168.56.12
NRPE v2.15

6.5 安装Apache(主节点安装)

tar -zxf httpd-2.2.23.tar.gz
cd httpd-2.2.23
./configure --prefix=/usr/local/apache2
make && make install

6.6 安装PHP(主节点安装)

cd /export/home/tools/soft/php
tar -zxf php-5.4.10.tar.gz
cd /php-5.4.10
./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs
make  && make install

6.7 使用apache 发布PHP的WEB

vi /usr/local/apache2/conf/httpd.conf

....
Listen 80
....
<IfModule dir_module>
    DirectoryIndex index.html index.php
    AddType application/x-httpd-php .php
</IfModule>
....
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
     AuthType Basic
     Options ExecCGI
     AllowOverride None
     Order allow,deny
     Allow from all
     AuthName "Nagios Access"
     AuthUserFile /usr/local/nagios/etc/htpasswd
     Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
     AuthType Basic
     Options None
     AllowOverride None
     Order allow,deny
     Allow from all
     AuthName "nagios Access"
     AuthUserFile /usr/local/nagios/etc/htpasswd
     Require valid-user
</Directory>

为web访问时添加用户名和密码(此处用户名为admin,可自定义)

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd admin

启动apache

/usr/local/apache2/bin/apachectl start

访问页面:

   http://192.168.56.10/nagios/

7. 配置Nagios

7.1 配置远程被监控节点

7.1.1 修改配置文件

# su - nagios
$ vi /usr/local/nagios/etc/nrpe.cfg

修改为如下配置内容:

command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$
command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$
command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
command[check_procs_args]=/usr/local/nagios/libexec/check_procs  $ARG1$
command[check_swap]=/usr/local/nagios/libexec/check_swap -w $ARG1$ -c $ARG2$

以上监控命令功能:

  • check_users                    监控登陆用户数

  • check_load                     监控CPU负载

  • check_disk                      监控磁盘的使用

  • check_procs                   监控进程数量,状态包括 RSZDT

  • check_swap                    监控SWAP分区使用

7.1.2 重启xinetd服务

配置完上述命令后,重启 xinetd服务

service xinetd restart

7.1.3 校验配置

检查监控命令配置是否ok

/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users  -a 5 10
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_load   -a 15,10,5 30,25,20
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_disk    -a 20% 10% /
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_procs -a 200 400 RSZDT
/usr/local/nagios/libexec/check_nrpe -H localhost -c check_swap  -a 20% 10%

7.2 配置监控服务主节点

7.2.1 cgi.cfg(控制CGI访问的配置文件)

(使用 nagios 用户)

vi /usr/local/nagios/etc/cgi.cfg

修改如下内容,为admin用户增加权限:

default_user_name=admin
authorized_for_system_information=nagiosadmin,admin
authorized_for_configuration_information=nagiosadmin,admin
authorized_for_system_commands=nagiosadmin,admin
authorized_for_all_services=nagiosadmin,admin
authorized_for_all_hosts=nagiosadmin,admin
authorized_for_all_service_commands=nagiosadmin,admin
authorized_for_all_host_commands=nagiosadmin,admin

7.2.2 nagios.cfg(nagios主配置文件)

(使用 nagios 用户)

vi /usr/local/nagios/etc/nagios.cfg

#cfg_file=/export/home/nagios/etc/objects/localhost.cfg      (注释掉)
cfg_dir=/export/home/nagios/etc/servers

主配置文件声明了监控脚本的存储路径为 ./servers, 默认没有此目录,需要手工创建

nagios 会读取 servers 目录下面后缀为.cfg的全部文件作为配置文件

cd /usr/local/nagios/etc
mkdir servers
cd servers

7.2.3 定义监控的主机组

声明一个监控的主机组,将主机环境中提到的三台主机全部加入监控

vi /export/home/nagios/etc/servers/group.cfg

新文件,内容如下:

define hostgroup{
   hostgroup_name      duangr-server
   alias               duangr Server
   members             duangr-1,duangr-2,duangr-3
}

解释下上面的配置:

  • hostgroup_name:    主机组的名称,可随意指定

  • alias:                        主机组别名,可随意指定

  • members:                主机组成员,多个主机名称之前使用逗号分隔.另外主机名称必须与 define host 中host_name 一致.

主机的定义,后面会说到.

7.2.4 定义监控的主机

下面开始定义具体的主机

7.2.4.1 本地主机监控配置

先定义本地主机 duangr-1

vi /export/home/nagios/etc/servers/duangr-1.cfg

新文件,内容如下:

define host{
       use                          linux-server
       host_name                    duangr-1
       alias                        duangr-1
       address                      192.168.56.10
       }

define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Host Alive
       check_command                   check-host-alive
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Users
       check_command                   check_local_users!20!50
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             CPU
       check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Disk Root
       check_command                   check_local_disk!20%!10%!/
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Disk Home
       check_command                   check_local_disk!20%!10%!/export/home
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Zombie Procs
       check_command                   check_local_procs!5!10!Z
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Total Procs
       check_command                   check_local_procs!250!400!RSZDT
       }
define service{
       use                             local-service
       host_name                       duangr-1
       service_description             Swap Usage
       check_command                   check_local_swap!20!10
       }

说明下,由于是此主机也是监控服务主节点所在主机,因此可以使用check_local_* 的相关命令来进行监控.

这个文件中已经将常用的监控项配置进去.

7.2.4.2 远程主机监控配置

再定义远程主机duangr-2和duangr-3

定义远程主机的监控之前,需要先定义check_nrpe命令

vi /usr/local/nagios/etc/objects/commands.cfg

在文件的最后面添加如下内容:

# 'check_nrpe' command definition
define command{
       command_name    check_nrpe
       command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
       }
define command{
       command_name    check_nrpe_args
       command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ -a $ARG2$
       }

定义duangr-2主机的监控配置

$ vi /usr/local/nagios/etc/servers/duangr-2.cfg

新文件,内容如下:

define host{
       use                     linux-server
       host_name               duangr-2
       alias                   duangr-2
       address                 192.168.56.11
       }

define service{
       use                             local-service
       host_name                       duangr-2
       service_description             Host Alive
       check_command                   check-host-alive
       }
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             Users
       check_command                   check_nrpe_args!check_users!5 10
       }
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             CPU
       check_command                   check_nrpe_args!check_load!15,10,5 30,25,20
       }
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             Disk Root
       check_command                   check_nrpe_args!check_disk!20% 10% /
       }
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             Disk /export/home
       check_command                   check_nrpe_args!check_disk!20% 10% /export/home
       }
define service{
      use                             local-service
      host_name                       duangr-2
      service_description             Procs Zombie
      check_command                   check_nrpe_args!check_procs!5 10 Z
      }
define service{
      use                             local-service
      host_name                       duangr-2
      service_description             Procs Total
      check_command                   check_nrpe_args!check_procs_args!"-w400 -c600"
      }
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             Swap Usage
       check_command                   check_nrpe_args!check_swap!20% 10%
       }

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;  下面是一些常用进程的监控,主要是云平台相关进程
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 监控crond进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: crond
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Ccrond"
       }
;; 监控zookeeper进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: QuorumPeerMain
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.quorum.QuorumPeerMain"
       }
;;监控storm的从节点进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: supervisor
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -adaemon.supervisor"
       }
;; 监控storm的主节点进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: nimbus
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -adaemon.nimbus"
       }
;; 监控MetaQ进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: MetaQ
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -ametamorphosis-server-w"
       }
;; 监控Redis进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: redis-server
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Credis-server"
       }
;; 监控hadoop主节点NameNode进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: NameNode 
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.namenode.NameNode"
       }
;; 监控hadoop主节点SecondaryNameNode进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: SecondaryNameNode
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.namenode.SecondaryNameNode"
       }
;; 监控hadoop主节点ResourceManager进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: ResourceManager
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.resourcemanager.ResourceManager"
       }
;; 监控hadoop从节点DataNode进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: DataNode
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.datanode.DataNode"
       }
;;监控hadoop从节点NodeManager进程
define service{
       use                             local-service
       host_name                       duangr-2
       service_description             PS: NodeManager
       check_command                   check_nrpe_args!check_procs_args!"-c1:1 -Cjava -aserver.nodemanager.NodeManager"
       }

说明下,由于duangr-2是远程主机,因此使用check_nrpe_args命令来监控.

这个文件中已经将常用的监控项配置进去, 同时还包含了hadoop、storm、zookeeper、metaq、redis的相关进程监控,主要的监控思路是判断进程是否存在。


定义duangr-3主机的监控配置

vi duangr-3.cfg 

内容与duangr-2.cfg类似,只需要修改 host_name 、alias、 address即可.

7.2.4.3 邮件监控

定义监控人邮件地址

vi /usr/local/nagios/etc/objects/contacts.cfg

define contact{
       contact_name                    nagiosadmin             ; Short name of user
       use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
       alias                           Nagios Admin            ; Full name of user
       email                           yourname@domain.com 
                                                               ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
       }

除了配置监控邮件的接收人外,还要确保:

  • 本主机与邮件服务器互通

  • 本主机SendMail可以使用外部SMTP服务发送邮件

7.2.4.4 校验配置

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

7.2.4.5 启动

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

nagios已经是一个服务,也可以执行如下操作:

service nagios start/stop/restart/status

8. 监控页面

http://192.168.56.10/nagios

9. 相关链接

© 著作权归作者所有

共有 人打赏支持
一只小逛
粉丝 39
博文 24
码字总数 14513
作品 0
南京
技术主管
加载中

评论(37)

小暇米
小暇米
专业!赞
Galen_Z
Galen_Z
个人觉得nagios维护节点信息de配置文件太过于繁琐,一般都是配合自己所写的一些脚本。
Galen_Z
Galen_Z
很好的懂系,学习和收藏了79
0-1
0-1
补充http://ip/nagios打开提示"You don't have permission to access /nagios on this server."
1. check "allow from all"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>

2. check httpd.conf's start-user

User apache
Group apache
改成如下:
User nagios
Group nagios



一只小逛
一只小逛

引用来自“onetwothree”的评论

为什么监控远程主机Host alive不加check_nrpe!???
Host Alive只是一个ping操作
onetwothree
onetwothree
为什么监控远程主机Host alive不加check_nrpe!???
一只小逛
一只小逛

引用来自“fanbells”的评论

你好,我问一下,

define hostgroup{
members duangr-1,duangr-2,duangr-3
}
members这块必须写主机名吗?其他不可以吗?

主机名称必须与 define host 中host_name ,这个与实际的主机名称没什么关系

f
fanbells
你好,我问一下,

define hostgroup{
members duangr-1,duangr-2,duangr-3
}
members这块必须写主机名吗?其他不可以吗?
一只小逛
一只小逛

引用来自“fanbells”的评论

我在监控datanode时一直是CRITICAL状态,但是监控的zookeeper状态确实ok的,想问一下怎么回事?

脚本里面监控思路比较简单和原始,仅仅是看datanode进程、zookeeper进程数量是否为1(针对需要监控的主机),不等于1将会出现CRITICAL
f
fanbells
我在监控datanode时一直是CRITICAL状态,但是监控的zookeeper状态确实ok的,想问一下怎么回事?
Nagios开发自定义插件check_netstat

前言 这几天学习了Nagios的plugin写法,先写了个简单的例子: 类似主机netstat命令的监控,可以监控链接的数量. 学习笔记,以备查阅 @Author duangr @Website http://my.oschina.net/duangr/blo...

一只小逛
2013/12/17
0
1
在OS(RHEL6.4)+Arch(ppc64)环境下安装Ganglia

前言 最近IBM提供了一台powerpc给我们测试使用.在上面装出几个虚拟机,准备加入到云平台中. 同时为了监控主机状况,准备在上面安装nagios和ganglia. nagios的安装同x86_64环境下相差不多,但是g...

一只小逛
2013/12/11
0
0
Nagios 安装及微信短信提醒

引言 Nagios 作为业界非常强大的一款开源监视系统。 监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等); 监控主机资源(处理器负荷、磁盘利用率等); 简单地插件设计使得用户可以方便地扩展...

OneAPM蓝海讯通
2015/09/24
98
1
Centos 6.2 nagios监控服务器集群 系列之安装篇

回想当年,不知道如何安装nagios,不知道如何监控windows,不知道如何监控网络设备(linux),网上的教程一车一车的....最终,我现在可以进行服务器监控,并且配置了pnp,道路艰辛,为各位同...

枫爱若雪
2013/05/20
0
0
nagios4.2.4 添加被监控端需要修改的文件

nagios4.2.4 添加被监控端 Install: epel源 yum install -y nagiosyum install -y nagios-plugins-all private 目录下面的resource.cfg 文件记录 插件位置 监控、被监控都需要nrpe yum inst...

liqilong1991
2017/04/11
0
0
Nagios 安装教程

简介 Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。 Nagios最初被设计为在Linux系统之上运行,然而它同样...

魏昊晅
2014/06/18
0
0
RedHat6.5上部署Nagios

部署环境:系统,RedHat 6.5;组件,Nagios; 部署前准备:关闭Selinux,和防火墙(/etc/init.d/iptables stop);获取相关软件包。 (包括gd-devel mysql-server openssl-devel xinetd;等) 具...

YLSL2014
07/04
0
0
监控利器Nagios之一:监控本地NFS和外部HTTP、MySQL服务

监控利器Nagios之一:监控本地NFS和外部HTTP、MySQL服务 Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务...

于学康
2017/06/20
0
0
Nagios 搭建配置全过程汇总篇(持续更新)

接触Nagios 也有一段时间了,个人感觉Nagios 相对来说配置起来还是比较简单的,而且报警功能很强大,图形化也做的还不错。特别是结合了NagioSQL 这个插件之后,直接就是通过一个web端管理Nag...

10730
2013/07/17
0
0
Linux 之nggios 安装及配置

Nagios 简介: 是一个开源软件,可以监控网络设备网络流量、Linux/windows主机状态,甚至可以监控打印机 它可以运行在Linux上或windows上 基于浏览器的web界面方便运维人员查看监控项目的状态...

不死鸟007
2016/12/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部