日志标签:linux

Zabbix监控Bind(DNS)解析状态状态

分类:linux日期:2018-12-12 - 22:06:09评论:0条作者:老谢

  通过BIND内置的监控模块提供统计数据,需在named.conf加入以下行打开该功能:

statistics-channels {
  inet 127.0.0.1 port 8053 allow { 127.0.0.1; };
};

  编辑/usr/local/zabbix/etc,加入:

UserParameter=bind.queries.in[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/server/queries-in/rdtype/name=$1$" | tail -1 | cut -d= -f2
UserParameter=bind.queries.out[*],curl http://127.0.0.1:8053/ 2>/dev/null | /usr/bin/xml2 | grep -A1 "/isc/bind/statistics/views/view/rdtype/name=$1$" | tail -1 | cut -d= -f2
 
#注意,需要安装xml2,可以使用yum install xml2来安装

  PS:折腾一圈发现,模板里没有包含OUT的监控,而且命令执行后OUT是空的,不太熟悉bind-statistics输出的内容,以后再研究吧……

继续阅读…

Tags: , ,

Zabbix 3.2 agentd自动发现监控资源占用TOP 10进程

分类:运维技术日期:2018-06-13 - 19:34:41评论:1条作者:老谢

创建top.sh
#!/bin/sh
top -n 1 -b> /tmp/top.txt

#注: 所有脚本请放至/usr/local/zabbix/share/scripts中
#注: 该脚本的意思是执行一次top命令并将结果重定向到top.txt

crontab -e
*/1 * * * * /usr/local/zabbix/share/scripts/top.sh > /dev/null

#注: 使用crond每分钟执行一次脚本,输出最新top数据到top.txt

创建check_process.sh获取进程名
#!/bin/bash
TABLESPACE=`tail -n +8 /tmp/top.txt|awk '{a[$NF]+=$6}END{for(k in a)print a[k]/1024,k}'|sort -gr|head -10|cut -d" " -f2`
        COUNT=`echo "$TABLESPACE" |wc -l`
INDEX=0
echo '{"data":['
echo "$TABLESPACE" | while read LINE; do
        echo -n '{"{#PROCESSNAME}":"'$LINE'"}'
        INDEX=`expr $INDEX + 1`
        if [ $INDEX -lt $COUNT ]; then
                echo ','
        fi
done
echo ']}'

  注: 最关键的是tail -n +8 /tmp/top.txt|awk ‘{a[NF]+=6}END{for(k in a)print a[k]/1024,k}’|sort -gr|head -10|cut -d” ” -f2这条命令:这条命令的意思是从top.txt文件中取出从第八行到末尾行的数据,然后使用awk对这些数据进行累加,效果是以最后一列为关键字,每个关键字对应的第6列的数值进行累加,输出第六列数据的累加结果和最后一列数据,然后使用sort进行排序,注意这里的参数是使用-gr而不是使用-nr是因为获取到的第六列的值是以KB为单位的,假如某进程占用内存大于10G的话,将会使用科学记数法计数,sort -nr参数无法对科学记数法进行计数,需要将参数改成-gr才行,其中的-r是进行反向排序,同时为了防止zabbix获取到该值是科学记数法获取的值从而无法识别,先将该值/1024将单位变成MB,当zabbix获取到数据后再*1024*1024将该值还原成BYTE单位。head -10是取出占用内存最大的十个进程,然后使用cut对数据进行切分,获得十个进程的进程名。

继续阅读…

Tags: ,

Centos 6.9升级openssh到7.7p1

分类:linux日期:2018-05-23 - 13:56:49评论:1条作者:老谢

开启telnet
yum install telnet-server
vi /etc/xinetd.d/telnet 
#默认telnet禁用root账户登陆,修改telnet配置文件,将配置文件中的disable         = no<修改为yes
 
vi /etc/securetty
 
#增加
#pts/0
#pts/1
#pts/2
#如果登录用户较多,需要更多的pts/*
 
/etc/init.d/xinetd start #启动xinetd进程。
安装相关组件并升级openssh
yum install -y gcc openssl-devel pam-devel rpm-build pam-devel 
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz
rpm -e `rpm -qa | grep openssh` --nodeps
tar -zxvf openssh-7.7p1.tar.gz 
cd openssh-7.7p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers
make && make install
 
vi /etc/ssh/sshd_config
#sed -i '/^#PermitRootLogin/s/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
#或手动修改PermitRootLogin no 修改为 PermitRootLogin yes 允许root远程登陆
 
service sshd restart 
#重启openssh
ssh -V
#查看版本
 
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
service sshd start
service sshd restart
chkconfig --list sshd
关闭telnet
/etc/init.d/xinetd stop && vi /etc/xinetd.d/telnet
将之前改过的disable=yes又改回去成no.
随后再将修改iptables将23端口关闭,并重启iptables服务.
至此,可以再开ssh登录,用ssh -V查看版本号.
Tags: , ,

博客开启强制HTTPS访问

分类:折腾日期:2017-02-16 - 23:04:41评论:10条作者:老谢

  自为博客安装SSL证书以后,老谢博客一直是支持HTTPS协议访问的,但是并没有强制跳转HTTPS,最近Let’s Encrypt的免费SSL证书流行开来,老薛主机的cPanel控制面板也已经支持了一键安装SSL证书启用HTTPS访问,身边的朋友也越来也多使用HTTPS访问,老谢也按耐不住启用强制HTTPS访问。

# 又拍云启用HTTPS

  老谢博客使用又拍云作为外链资源好几年了,要启用全站HTTPS,外链资源必须也要使用HTTPS协议,登录又拍云的后台,在“工具箱” – “SSL证书服务”里面可以自定申请Let’s Encrypt的免费SSL证书,该证书是受Chrome和Firefox等主流浏览器信任的,免费3个月,又拍云支持自动续期的功能。

  申请证书速度很快,我在操作的时候只用了十来分钟就完成了,另外要注意的是需要在又拍云的HTTPS设置里面选择启用HTTPS访问以及强制SSL的选项。

# 修改站点地址、资源地址以及修改文章内链接

  首先在wp后台的设置里面,修改站点地址为HTTPS的地址,然后把站内的静态资源如CSS、JS以及小图标等链接修改为HTTPS,确保无非HTTPS的资源载入。

  最后修改站内的图片资源地址,老谢博客一直使用又拍云的外链资源,地址为http://upyun.xj123.info/,这里只需要修改为https://upyun.xj123.info/即可,可以使用SQL语句完成:

UPDATE wp_posts SET post_content = REPLACE( post_content, 'http://www.old.com', 'http://www.new.com' ) ;

  最最后也可以在wp-config.php添加下面参数启用wp后台强制HTTPS访问:

/* 强制后台和登录使用 SSL */
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
# Nginx重定向到https

  在server字段添加下面的语句即可:

                if ( $scheme = http ){
                    return 301 https://$server_name$request_uri;
                }

mail()函数发信报错

分类:linux日期:2015-07-01 - 22:10:23评论:11条作者:老谢

  mail()函数发信报错:Could not instantiate mail function.,原因是服务器没有安装sendmail组件,使用yum进行安装:

yum install sendmail
/etc/init.d/sendmail start

注意:如果sendmail启动缓慢,请将hostname加入到/etc/hosts里面

   配置/usr/local/php/etc/php.ini,填写sendmail绝对路径:

vim /usr/local/php/etc/php.ini
sendmail_path = /usr/sbin/sendmail -t -i
:wq!
/etc/init.d/php-fpm restart

注意:如果邮件显示为xxx代发,请将你的域名加入到/etc/hosts即可

Tags: ,

Nagios安装与配置

分类:运维技术日期:2013-10-27 - 16:05:19评论:0条作者:老谢

本篇文章使用MarkDown写作!

公司近期需要搭建一个监控平台,主要目的是实现服务器服务或负载异常的及时报警功能,经过选择最终决定使用Nagios实现

安装Nagios Core

yum -y install gcc glibc glibc-common gd gd-devel php openssl-devel httpd
useradd -m nagios     #添加一个名为nagios的用户来运行nagios 
usermod -a -G nagios apache    #将运行apache用户apache加入nagios组
wget http://ssh.xj123.info/monitor/nagios-3.5.0.tar.gz
tar -zxf nagios-3.5.0.tar.gz
mkdir /etc/httpd/conf/extra  //用来存放关于nagios的http配置文件
cd nagios
./configure --prefix=/usr/local/nagios/ --with-comman-group=nagios --with-httpd-conf=/etc/httpd/conf/extra/ //指定安装目录及用户、组和http的配置目录
make all&&make install
make install-init;make install-config;make install-commandmode;make install-webconf      //初始生成启动脚本、配置文件、命令配置模块和httpd的配置文件

继续阅读…

Tags: ,

httpd服务不支持chkconfig

分类:linux日期:2012-11-05 - 20:41:20评论:5条作者:老谢

今天折腾openvpn,期间重启一次vps,结果发现自己的博客打不开了,然后看了下httpd服务没起来,应该是没做开机启动,如果加了下,结果看到一个提示:

[root@www ~]# chkconfig –add httpd
httpd 服务不支持 chkconfig

这果断让我很不爽,解决方法如下:

vim /etc/init.d/httpd
 
#!/bin/bash
#chkconfig:345 61 61
#description:Apache httpd

改完设置chkconfig即可

[root@localhost ~]# chkconfig –add httpd
[root@localhost ~]# chkconfig –level 345 httpd on
[root@localhost ~]# chkconfig –list|grep httpd

Tags: ,

root删文件Operation not permitted

分类:linux日期:2012-07-05 - 18:52:05评论:13条作者:老谢

我是root,删文件居然提斯和无操作权限,系统是要逆天么?

用ll命令查看权限,看似正常,但是我们不能只看表面。。用lsattr命令,就找到不正常的地方了。。

[root@aples fcgi-bin]# lsattr
—-i——– ./php5.fcgi

有个i属性,属性的含义如下(谷歌之):

i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。

找到怎么回事了,那就能解决了,搜搜怎么取消这个i属性就完了,操作如下:

chattr -i php5.fcgi

完事了,删除吧!

Tags:

进入linux后提示符显示-bash-3.2

分类:linux日期:2012-04-03 - 23:09:00评论:6条作者:老谢

故障原因:把自己home内的/.bashrc之类的文件删掉了,导致bash使用了最简单的样式。

解决方法:cp -a /etc/skel/. /root,这里要感谢D大提供的帮助!

Tags: ,