wifi分析仪PC版安卓版

PC版wirelessmon:

http://www.laihp.top/ud/1789_20161219175315.zip

安卓版wifi分析仪:

http://m.gdown.baidu.com/fe07d4ac8b8ccb819e80715ca9496325f72284c50c9ce0cc547895f2754fa3f6cb44b7bd1e68b81631897f9cfbba48e5fba3ac621e9fac61a79e41eb64e9471cec465fd04d0e65d527e96cf6617bb9c268ae975b2e234dbef9db0c59597e8d8f6430c9109efc474513809f8c37646b6bdb5fa5233315c25a415c74eb11f2f5917a0aaa00b28e45dbee9841a4c34ee8dda893972797ba19a35fe97d197c928ea1b1b0c3ed83b57352

 

外链介绍:

四大实用WiFi检测工具,调整信道避免干扰

http://baijiahao.baidu.com/s?id=1598981658261485930&wfr=spider&for=pc

华三(H3C)V7设备 Telnet配置

华三(H3C)V7设备 Telnet配置:

V7设备 Telnet配置:
 
首先进入系统视图:
<H3C>sys
System View: return to User View with Ctrl+Z.
开启telnet服务:
[H3C]telnet server enable
进入VTY用户界面:
[H3C]line vty 0 4
更改验证方式为scheme
[H3C-line-vty0-4]authentication-mode scheme 
配置默认的用户权限:
[H3C-line-vty0-4]user-role level-15  
配置登陆协议为all或者telnet:
[H3C-line-vty0-4]protocol inbound  all
[H3C-line-vty0-4]quit
创建本地用户admin:
[H3C]local-user admin
设置密码为admin:
[H3C-luser-manage-admin]password simple admin
配置用户权限:
[H3C-luser-manage-admin]authorization-attribute user-role level-15 
配置该用户服务类型为telnet
[H3C-luser-manage-admin]service-type  telnet
[H3C-luser-manage-admin]quit」

 

 

windows server 2012/2016 设置多用户同时在线远程桌面

服务器设置多用户同时远程桌面,可以提高访问效率,避免人多抢登服务器。
1、首先需要先安装远程桌面服务

添加角色和功能,到服务器角色时候选择【远程桌面服务】,选择【远程桌面会话主机】,最后安装重启。
添加角色和功能,安装类型基于角色安装,【远程桌面授权】,自动安装重启。

2、配置组策略,

运行框输入gpedit.msc,打开计算机配置–>管理模板—>windows组件—>远程桌面服务—>远程桌面会话主机->连接,点击【限制连接的数量】,选择禁用,不限制连接数。

 

这样设置远程多用户只有120天期限,要破解120天限制,还需要配置远程桌面授权

经过网上的寻找,原来是server 2012 远程登录只提供120天的使用期限。

解决的方式分两步:

一 . 参照以下这篇文章

http://blog.sina.com.cn/s/blog_5e8c26990102w7bc.html

微软官方的解释是(来源此链接http://blog.163.com/smile_big/blog/static/35710579201311982024/):

微软官方的解释:

原因:

因为 Windows 应用商店的应用程序不具有足够的权限来访问的MSLicensing注册表项或子项存储区,则会出现此问题。因此,当应用程序连接到远程服务器时,远程桌面 ActiveX 接口在进程内 COM 对象无法访问注册表,并停止连接过程。

解决方案:

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,可能会出现的严重问题。这些问题可能要求您重新安装操作系统。Microsoft 不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。

google得到最终的解决办法:
The solution was to delete the REG_BINARY in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Only leaving the default.
And reboot.
来源于http://anilgprabhu.blogspot.com/2014/05/reset-trial-terminal-license-on-windows.html
根本原因在于,server 2012 或server 2008等默认的最大远程登录链接为2个,超过这个数目需要使用license server进行授权,这个授权据说是收费的,但官方给予了120天的Grace period来配置license server。如果超过120天后仍然没有可用的license server,就会出现第一种错误。而这个Grace period信息记录在上文的注册表中,因此只要删除注册表中的项(需要修改此注册表项权限所有者为Administrators,给Administrators增加修改权限),重启服务器就可以了。还有人提到可以修改系统时间为将来,然后删除注册表,再把系统时间改回来,这样可以获得更长的Grace period。此方法适用于server2012,应该也适用于2008,但2003没有测试过。
参考微软官方文档的解释便一目了然:
当然,除了修改注册表的投机取巧的办法,也可以部署license server(server 2008)或部署license server及remote desktop gateway(server2012),2012相比2008有比较大的变动,配置起来也更麻烦,感兴趣的可以参考如下链接:

 

二.

在进行删除GracePeriod项的时候发现提示错误,删除此项错误,应该是权限的问题。

于是执行以下步骤:

1.运行 gpedit.msc

 

2、GracePeriod右键【权限】,【高级】,所有者【更改】,添加本用户完全控制。

3、删除 GracePeriod 下的二进制项,重启机器

zabbix监控——清理历史数据

zabbix运行一段时间之后,会留下大量的历史 数据,会发现zabbix的数据库一直在增大。运行3个月后笔者的数据库达到了5.7G,可能造成系统性能下降,查看历史数据时查询速度缓慢。
zabbix里面最大的表就是历史记录的表了,网上很多人都是写全部清空这些表的数据,其实我们可以按时间来删除里面的历史记录。

里面最大的表是 “history” 和 “history_uint”两个表;

zabbix里面的时间是用的时间戳方式记录,我们可以转换一下,然后根据时间戳来删除;

比如要删除2014年的1月1号以前的数据

1、先将标准时间转换为时间戳

# date +%s -d “2014-01-01 00:00:01”
1388505601

2、mysql清理数据

  • mysql> DELETE FROM `history_uint` WHERE `clock` < 1388505601;
  • mysql> optimize table history_uint;

注:执行过第二行命令之后可能会需要很长的一段时间,中间不要中断,否则容易丢失数据。

这是比较实用的按照时间段删除历史数据,也有方法可以全部清除历史监控数据
zabbix清空历史记录mysql数据库操作:

  • mysql -uroot -p 输入mysql密码
  • use zabbix;
  • truncate table history;
  • optimize table history;
  • truncate table history_str;
  • optimize table history_str;
  • truncate table history_uint;
  • optimize table history_uint;
  • truncate table trends;
  • optimize table trends;
  • truncate table trends_uint;
  • optimize table trends_uint;
  • truncate table events;
  • optimize table events;

注意:此操作会清空zabbix所有历史监控数据,请操作之前备份好数据库!清理前先停用zabbix-server服务,否则清理不掉数据。

华三AC360,配置vlan-pool,实现一个SSID能够同时支持多个业务VLAN。以及ip绑定

前言:

如果每个SSID中只有一个业务VLAN为STA提供无线网络服务,很容易导致接入STA数多的区域出现IP地址资源不足、而其它区域IP地址资源浪费的情况。
新建VLAN pool后,可以在VLAN pool中加入多个VLAN,然后通过将VLAN pool配置为VAP的业务VLAN,实现一个SSID能够同时支持多个业务VLAN。新接入的STA会被动态的分配到VLAN pool中的各个VLAN中,减少了单个VLAN下的STA数目,缩小了广播域;同时每个VLAN尽量均匀的分配IP地址,减少了IP地址的浪费。

配置:

wlan vlan-pool vpool
vlan-id 10 to 11

配置无线接入服务:

wlan service-template 2 crypto
ssid bole11
bind WLAN-ESS 0
cipher-suite tkip
cipher-suite
ccmp security-ie rsn security-ie wpa service-template enable

对应的wlan-ess接口配置:

#
interface WLAN-ESS0
port link-type hybrid
undo port hybrid vlan 1
port hybrid vlan 10 to 11 untagged
port hybrid pvid vlan 11
mac-vlan enable
port-security port-mode psk
port-security tx-key-type 11key
port-security preshared-key pass-phrase cipher $c$3$2gnTnPE3M3JIHZ/6JYYtTOq3ADdj4km/fW3U
#

绑定到AP上:

wlan ap a1-5cc9-****-7e00 model WAP722E id 6 serial-id 219801A0Q39189G*****
radio 1
service-template 2 vlan-pool vpool

 

vlan-pool是10和11。现在获取的还是vlan10对应的ip段,终端配上静态vlan11的ip段就不能用。为啥呢?wlan-ess是需要怎么配吗

答:vlanpool指的是终端上来之后会给他分配pool中的一个vlan,而不是说所有vlan都可以用;你测试的这个终端被划分到了vlan10中,配置vlan11当然不通;vlan pool的目的是划分广播域,将大量终端均匀分配到各vlan中,不是一个终端可以同时用多个vlan的技术。

可以在AC上配置mac-vlan来固定终端设备分配到指定vlan中。


首先在核心交换机上的DHCP服务器里绑定ip和Mac:

dhcp server ip-pool vlan10
gateway-list 192.168.10.254
network 192.168.10.0 mask 255.255.255.0
network 192.168.12.0 mask 255.255.255.0 secondary
gateway-list 192.168.12.254
dns-list 114.114.114.114
forbidden-ip 192.168.10.177
forbidden-ip 192.168.10.178
static-bind ip-address 192.168.10.177 mask 255.255.255.0 hardware-address 28f0-7668-7570

AC上做一个Macvlan绑定:

[WAC360]mac-vlan mac-address 28f0-7668-7570 vlan 10 priority 0

超简单小巧的“单文件”开源免费 PHP 网盘程序 / 网页文件管理器 (可上传删除新建目录)

只想找个“极简”的网盘程序 / 网页文件管理器,只需列出全部文件、支持上传下载删除,那就找对了。

介绍一款方便至极的文件管理器:

Evoluted Directory Listing (EDL) 是一款极其轻量且开源免费的「单文件」PHP 私人网盘程序 (仅几百 KB)。它能索引目录下的全部文件和文件夹,并以网页形式显示出来,可用作个人网盘或简单的服务器文件管理器,供你轻松地上传、下载文件、新建文件夹、以及删除文件(夹)。

官方下载地址:https://www.evoluted.net/assets/thinktank/wp-content/uploads/2016/08/evoluted-directory-listing-script-4.0.5.zip

本站下载地址:evoluted-directory-listing-script-4.0.5

服务器环境要求和安装方法

服务器要求 PHP 5.3 或以上版本 (实测 PHP 7.3 可用),并且安装 PHP 的 GD2 扩展。如果你需要开启自动解压 ZIP 功能,那么还需要安装启用 ZipArchive 扩展。

Evoluted Directory Listing 无需安装,将 index.php 文件上传到服务器网站目录中就能访问使用。修改配置直接修改 index.php 里面的内容即可。其他的就没什么要求了,最重要的是要留意文件目录是否有读写权限。

配置说明:

用代码编辑器 (如 VS Code、SublimeText、VIM 等) 搜索关键字,并且根据以下内容修改即可。

启用密码保护、修改登录密码:

// 设为 true 后,访问时就会要求输入密码 (强烈建议设置)。
public $passwordProtect = true;

// 设置你的密码
// 异次元汉化版的默认密码为小写的iplaysoft.com
public $password = '这里修改成你的密码';

仅允许指定的 IP 访问:

// 设为 true 后,只允许白名单里的 IP 地址访问
public $enableIpWhitelist = true;

// 白名单 IP 列表
public $ipWhitelist = array(
'允许访问的IP地址1',
'允许访问的IP地址1'
);

隐藏指定的文件夹:

// 设定要隐藏的目录名称
public $ignoredDirectories = array(
'要隐藏的目录名',
);

隐藏指定的文件或扩展名:

// 隐藏指定扩展名的文件
public $ignoredFileExtensions = array(
'扩展名1',
'扩展名2',
);

// 隐藏指定的文件
public $ignoredFileNames = array(
'要隐藏的文件名1',
'要隐藏的文件名2'
);

自动解压 ZIP文件:

// 设为 true 后上传 ZIP 文件会自动解压 (会覆盖同名文件)
// 此选项需要 PHP 启用 ZipArchive 扩展后才会生效
public $enableUnzipping = true;

// 如已设置自动解压,那么这里设为 true 后,会在自动解压后删除压缩包。
public $deleteZipAfterUploading = false;

总结:

如果你并不需要功能过于强大的网盘工具,只需要一款足够简单的支持上传/删除操作的 PHP 网页版目录列表程序,那么 Evoluted Directory Listing Script 就很适合你了。

特别是它仅有 index.php 一个单文件,小巧快速,使用方便,几乎任何 VPS、服务器甚至是虚拟主机都能使用,实用性还是很强的,值得你收藏备用哦。

 

本人修改了下、纯目录list,删除上传创建目录功能。可安全的对外调用。

下载链接:index

测试预览页面:http://www.laihp.top/dirlisttest/

 

Ubuntu下使用mail命令发送邮件,ping不通写入文件并截图

ubuntu 18版本以上挪到下边用heirloom-mailx来发邮件。


apt-get update
apt-get install mailx
apt-get install mail

sudo apt-get install heirloom-mailx

此时还不能发送外部服务器邮件,需要完成以下配置,修改/etc/nail.rc或者/etc/s-nail.rc(Ubuntu)、/etc/mail.rc(centOS)、vi /etc/nail.rc或者/etc/s-nail.rc

在nail.rc文件末尾添加一下两行代码:

set from=zhangqing@***.com
set smtp=smtp.exmail.qq.com
set smtp-auth-user=zhangqing@***.com
set smtp-auth-password="******"
set smtp-auth=login

按照以上步骤设置完毕之后即可使用mail命令发送邮件,发送邮件有以下三种方式:

  • 方法一:交互形式发送邮件
    • mail + 邮箱地址
    • 填写主题
    • 填写内容
    • ctrl + d 结束输入
    • cc代表抄送,回车完成发送
  • 方法二:通道形式发送
    • echo “邮件内容” | mail -s “主题” 邮箱地址
  • 方法三:读取文件内容发送
    • mail -s “主题” “邮箱地址” < “path/filename”

Test:ping某个ip不通时发送邮件

#!/bin/bash 
yourip=210.*.*.*

pingsh(){
nowdate=`date +%Y%m%d-%H:%M:%S`
if  ping -c 1 $yourip  >/dev/null 2>&1 ; then
        echo " ping $yourip from 192.168.3.87 at $nowdate is good" >> /var/log/pinglog.log
else
echo "ping $yourip from 192.168.3.87 at $nowdate is down!" >> /var/log/pinglog.log
echo "ping $yourip from 192.168.3.87 at $nowdate is down! AND Go to 3.87 start [bash /var/cro.sh]" | mail -s "Bole internet waring!!!" zhangqing@***.com
fi
}

step=2 #间隔的秒数,不能大于60 
for (( i = 0; i < 10; i=(i+step) )); do
  	pingsh 
  	echo $i
	sleep $step 
	#判断如果不能ping通则退出循环,停止该脚本的执行。
	if  ping -c 1 $yourip  >/dev/null 2>&1 ; then
		echo " ping $yourip from 192.168.3.87 at $nowdate is good"
	else
		exit 0
	fi

done
exit 0

 

step为间隔ping时间。i<10,为执行的总秒数。

 


heirloom-mailx配置:

配置软件源

ubuntu18.04上无法直接安装heirloom-mailx,需要添加软件源

sudo vi  /etc/apt/sources.list

写入

deb http://cz.archive.ubuntu.com/ubuntu xenial main universe

安装heirloom-mailx

sudo apt-get update
sudo apt install heirloom-mailx

配置外部SMTP

Ubuntu18.04的配置文件为/etc/s-nail.rc,把下面几行放置在最后

set from="123456789@qq.com" 
set smtp="smtps://smtp.qq.com:465"
set smtp-auth-user="123456789@qq.com"
set smtp-auth-password="ahkphxxabcbshabbga"
set smtp-auth=login

 

注意:第四行password是指的QQ邮箱授权码,不是密码

测试

echo "邮件内容" | s-nail  -s "邮件主题" xxx456@126.com

或者

s-nail  -s "邮件主题" 123xxx@126.com  < result.txt

 

测试ping不通时发钉钉,恢复通之后发钉钉:

#!/bin/bash
yourip=172.18.188.1
yourip2=192.168.0.1
yourip3=192.168.177.1
yourip4=$1
serverip=192.168.0.49

pingsh4(){
nowdate=`date +%Y%m%d-%H:%M:%S`
nowdate2=`date +%Y%m%d-%H`
if  ping -c 1 $yourip4  >/dev/null 2>&1 ; then
        echo " ping $yourip4 from $serverip at $nowdate is good" >> /var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
else

    echo "ping $yourip4 from $serverip at $nowdate is down!" >> /var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log

    sleep 1
    if  ping -c 1 $yourip4  >/dev/null 2>&1 ; then
        nowdatedown=`date +%Y%m%d-%H:%M:%S`
        echo " ping $yourip4 from $serverip at $nowdatedown is good" >> /var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
    return
    else
        echo "ping $yourip4 from $serverip at $nowdatedown is down!" >> /var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
        python3.6 robot.py "ping $yourip4 from $serverip at $nowdatedown is down!(2th in 3s)"
    return
    fi

fi
}


ping_count=3
pingok=y

pingsh5() {
#ping_result0=`ping  $yourip4 -w 3 -c $ping_count -i 1`  
ping_result=`ping  $yourip4 -w 3 -c $ping_count -i 1   |tail -2 |head -1`
 
   #取成功条数
   succ_ping=`echo $ping_result | gawk '{print $4}'`
   #取失败百分比
   loss_ping=`echo $ping_result | gawk '{print $6}'`
    if [ $succ_ping -eq $ping_count ];then
        echo "本次检测结果---->$yourip4服务器ping检测正常"
        #echo "`date "+%Y%m%d %H:%M:%S"`--->$ping_result0" >>/var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
        echo "`date "+%Y%m%d %H:%M:%S"`--->$yourip4 server ping is ok,$loss_ping packet loss." >>/var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log

        if [[ $pingok = 'n' ]];then
            python3.6 robot.py "V~Server ($yourip4) ping is ok from $serverip~~~$loss_ping packet loss.`date "+%Y%m%d-%H:%M:%S"`"
            pingok=y
        fi
    else
        echo "本次检测结果---->$yourip4服务器有丢包现象,丢包率为:$loss_ping"
        #echo "`date "+%Y%m%d %H:%M:%S"`--->$ping_result0" >>/var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
        echo "`date "+%Y%m%d %H:%M:%S"`--->$yourip4 server ping is down,$loss_ping packet loss." >>/var/www/html/ping/log/pinglog-$nowdate2-$yourip4.log
        if [[ $pingok = 'y' ]] && [[$loss_ping = '100%']];then 
            python3.6 robot.py "X~Server ($yourip4) ping is bad from $serverip!!!$loss_ping packet loss.`date "+%Y%m%d-%H:%M:%S"`"
            pingok=n
        fi
        
    fi

}


step=2 #间隔的秒数,不能大于60
for (( i = 0; i < 1000000000; i=(i+1) ))
do
    pingsh5	
    echo $i
    sleep 3
    datetimerm=59
    datetimes=50

        #判断如果不能ping通则sleep100s。
    
    if [ $(date +%M) -eq "$datetimerm" ]
    then
    	echo $(date +%M:%S)
        mv ./log/pinglog-* ./log/oldlog/
    	#rm ./log/pinglog-*.log
        sleep 65
    fi

done
exit 0

 

解析域名写入到log,分析域名解析到的ip地址。

#!/bin/bash
#yourip=39.102.117.166


step=2 #间隔的秒数,不能大于60
for (( i = 0; i < 100000000; i=(i+1) ))
do

        str001=$(nslookup d105xpbtjj9cjp.cloudfront.net 172.18.188.3)
    echo "$str001"  >> ./log/nslookuplog172181883.log
                    
    str003=$(nslookup d105xpbtjj9cjp.cloudfront.net 10.161.0.3)
    echo "$str003"  >> ./log/nslookuplog1016103.log

        str005=$(nslookup d5kwyqpbdauu5.cloudfront.net 172.18.188.3)
    echo "$str005"  >> ./log/nslookuplog172181883-d5k.log
                    
    str007=$(nslookup d5kwyqpbdauu5.cloudfront.net 10.161.0.3)
    echo "$str007"  >> ./log/nslookuplog1016103-d5k.log


        str008=$(nslookup d2rargdj3vlbg6.cloudfront.net 172.18.188.3)
    echo "$str008"  >> ./log/nslookuplog172181883-d2r.log
                    
    str009=$(nslookup d2rargdj3vlbg6.cloudfront.net 10.161.0.3)
    echo "$str009"  >> ./log/nslookuplog1016103-d2r.log

    echo $i
        sleep 10 
    
    #tiqu-ip
    cat ./log/nslookuplog172181883.log |grep -E 'Add|Name' > ./log/nslookuplog172181883ip.log
    cat ./log/nslookuplog1016103.log |grep -E 'Add|Name' > ./log/nslookuplog1016103ip.log
    cat ./log/nslookuplog172181883-d5k.log |grep -E 'Add|Name' > ./log/nslookuplog172181883-d5k-ip.log
    cat ./log/nslookuplog1016103-d5k.log |grep -E 'Add|Name' > ./log/nslookuplog1016103-d5k-ip.log
    cat ./log/nslookuplog172181883-d2r.log |grep -E 'Add|Name' > ./log/nslookuplog172181883-d2r-ip.log
    cat ./log/nslookuplog1016103-d2r.log |grep -E 'Add|Name' > ./log/nslookuplog1016103-d2r-ip.log

    #quchong-ip
    cat ./log/nslookuplog172181883ip.log |sort |uniq > ./log/nslookuplog172181883ip-uniq.log
    cat ./log/nslookuplog1016103ip.log |sort |uniq > ./log/nslookuplog1016103ip-uniq.log
    cat ./log/nslookuplog172181883-d5k-ip.log |sort |uniq > ./log/nslookuplog172181883-d5k-ip-uniq.log
    cat ./log/nslookuplog1016103-d5k-ip.log |sort |uniq > ./log/nslookuplog1016103-d5k-ip-uniq.log
    cat ./log/nslookuplog172181883-d2r-ip.log |sort |uniq > ./log/nslookuplog172181883-d2r-ip-uniq.log
    cat ./log/nslookuplog1016103-d2r-ip.log |sort |uniq > ./log/nslookuplog1016103-d2r-ip-uniq.log

    #end
    cat ./log/*-uniq.log |sort |uniq > ./log/end.log

done
exit 0


 

获取到Add行的内容并写到log文件。

cat nslookuplog1.log|grep -E 'Add' > nslookuplog1-ip.log

 

centos下搭建Jenkins持续集成环境(安装jenkins)

1、安装JDK

yum install -y java

或者从Java官网下载rpm包安装

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装完成后最好看下版本:

[root@ip-172-31-27-3 ec2-user]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

2、安装jenkins

  • 添加Jenkins库到yum库,Jenkins将从这里下载安装。
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
  • 如果不能安装就到官网下载jenkis的rmp包,官网地址(http://pkg.jenkins-ci.org/redhat-stable/)【https://jenkins.io/download/
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.176.1-1.1.noarch.rpm
rpm -ivh jenkins-2.176.1-1.1.noarch.rpm

3、配置jenkis的端口

 vim /etc/sysconfig/jenkins

找到修改端口号:

JENKINS_PORT=”8080″  此端口不冲突可以不修改

4、启动jenkins

service jenkins start/stop/restart
  • 安装成功后Jenkins将作为一个守护进程随系统启动
  • 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数
  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo

5、打开jenkins

在浏览器中访问http://*.*.*.*:8080/

或者直接访问后台:http://*.*.*.*:8080/pluginManager/available
首次进入会要求输入初始密码如下图,
初始密码在:

cat /var/lib/jenkins/secrets/initialAdminPassword 

 


jenkins第一次登陆,输入完密码之后,卡在了SetupWizard[jenkins]处显示空白页面

重启Jenkins程序即可。

[root@ip-172-31-27-3 ec2-user]# service jenkins restart
Shutting down Jenkins                                      [  OK  ]
Starting Jenkins                                           [  OK  ]

Jenkins以root用户运行的方法

以centOS系统为例,记录下修改Jenkins以root用户运行的方法。
修改Jenkins配置文件

# 打开配置文件
vim /etc/sysconfig/jenkins
# 修改$JENKINS_USER,并去掉当前行注释
$JENKINS_USER="root"

修改Jenkins相关文件夹用户权限

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root

# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成

zabbix安装配置与钉钉报警及写入log日志web展示

安装比较简单,官网安装即可:

https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/debian_ubuntu

钉钉报警:

cd /usr/lib/zabbix/alertscripts

创建robot.py文件

#!/usr/bin/python3.6
# -*- coding: utf-8 -*-

import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=******" 
#上面机器人里面复制内容


def msg(text):
    json_text= {
        "msgtype": "text",
        "at": {
            "atMobiles": [
                    "1821011****"
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    r=requests.post(api_url,json.dumps(json_text),headers=headers).content
    print(r)

#msg(12345)


if __name__ == '__main__':
    #text = sys.argv[1]+sys.argv[2]+sys.argv[3]+sys.argv[4]
    text0=sys.argv[1:]  #sys.argv[]获取外部参数,返回为一个列表list组。0为目录
    text=' '.join(text0)
    msg(text)

再在本目录下创建一个robot.sh文件,返回格式修改后的报警信息,zabbix调用此文件

#!/bin/bash
  
stri=$1$2$3$4$5$6$7
stri1=${stri} | sed 's/ //g'
stri2=${stri1} | sed 's/(//g'
stri3=${stri2} | sed 's/>//g'
python3.6 /usr/lib/zabbix/alertscripts/robot.py $stri

 

 

5.0版本后的zabbix,直接调用py脚本。

[root@mzl ~]# cat /usr/lib/zabbix/alertscripts/zq1.py 
#!/usr/bin/python
# -*- coding: utf-8 -*-

import requests
import json
import sys

url = 'https://oapi.dingtalk.com/robot/send?access_token=************'

text0=sys.argv[1:]  #sys.argv[]获取外部参数,返回为一个列表list组。0为目录
text1=' '.join(text0)
text2=sys.argv[1]


headers = {

    "Content-Type": "application/json",
    "Chartset": "utf-8"
}

# 要发送的文本是json格式
request_data = {
    "msgtype": "markdown",
    "markdown": {"title": "{}".format(text2),
                 "text": "{}".format(text1) 
                 },
    "at": {
        "atMobiles": [],
        "isAtAll": True
    }

}

# 把json转变为字符串格式数据
send_data = json.dumps(request_data)
# 这个是发送post请求,请求钉钉接口
response = requests.post(url=url, headers=headers, data=send_data)
# 讲求成功后返回的数据
content = response.content.decode()
# 打印
print(content)

 

最后在zabbix页面来调用此sh文件即可。如下图:填上需要传入的报警信息{ALERT.MESSAGE}

 

写入log日志web展示

1、首先Apache创建一个目录list的web展示。http://www.laihp.top/zqb/?p=317

2、robot.sh用于处理报警信息给robot.py钉钉及把大于1M的log文件放到另外一个目录下。

root@zqubuntu:/usr/lib/zabbix/alertscripts# ll
total 20
drwxr-xr-x 2 root root 4096 Dec  3 16:19 ./
drwxr-xr-x 4 root root 4096 Nov 16  2018 ../
-rwxr-xr-x 1 root root  904 Dec  6  2018 robot.py*
-rwxr-xr-x 1 root root  238 Dec  2 18:35 robot.sh*

代码如下:

 

[scfc id=”scfctxt” title=”+++robot.sh—“]

#!/bin/bash


#####
start1=$(date +%y-%m-%d-%H%M%S)

filename=/var/www/html/zabbixalert.log

filesize=`ls -l $filename | awk '{ print $5 }'`

#delname=`ls -R /data/share/.recycle/ |awk '{print $0}'`

maxsize=$((1024*10))

if [ $filesize -gt $maxsize ]

then
                echo "mvthisfile---------------------" >> /var/www/html/zabbixalert.log
                cp /var/www/html/zabbixalert.log /var/www/html/zabbixhistory/zabbixalert.log$start1.log
                echo "newfile---------------------" > /var/www/html/zabbixalert.log
                chmod 777 /var/www/html/zabbixalert.log
else
                echo "thislogfilesize----[$filesize B]" >> /var/www/html/zabbixalert.log
fi

#####


stri=$1$2$3$4$5$6$7
stri1=${stri} | sed 's/ //g'
stri2=${stri1} | sed 's/(//g'
stri3=${stri2} | sed 's/>//g'
python3.6 /usr/lib/zabbix/alertscripts/robot.py $stri
echo $stri >> /var/www/html/zabbixalert.log

 

[/scfc]

运行效果:

 

zabbix-agent 安装

首先在客户端安装agent:

#如果主机联网的话,可以选择直接yum安装
root@ubuntu:~# apt install zabbix-agent
root@ubuntu:~# vim  /etc/zabbix/zabbix_agentd.conf 

LogFileSize=0
EnableRemoteCommands=1 #允许远程执行命令
LogRemoteCommands=1    #开启远程操作日志
Server=zabbix-server-ip    #被动模式,ZABBIX服务器IP地址
ServerActive=zabbix-server-ip     #主动模式,ZABBIX服务器IP地址
Hostname=localhost-ip     #主机名或IP地址

root@ubuntu:~# systemctl restart zabbix-agent
root@ubuntu:~# systemctl enable zabbix-agent

然后再zabbix添加该客户端即可

 

 

概述

在使用Zabbix监控ICMP多个主机时,会出现Zabbix icmp pinger processes more than 75% busy的报错。主要原因为ICMP的线程太少导致,可以通过更改配置文件进行调优。

image

解决方式

编辑/etc/zabbix/zabbix_server.conf文件,将StartPingers更改为合适的大小值。

image

 

重启Zabbix服务

 

 


附一个群晖NAS的模板:zbx_export_SynoDiskStation_1