日志分类:linux

bash中使用awk命令配合正则处理字符串只保留数字

分类:linux日期:2018-05-08 - 19:39:15评论:0条作者:老谢

  在配置zabbix主机的时候,有个items抓snmp的oid输出的是字符串,zabbix3.4可以直接通过正则处理snmp抓到的数据,但是为了oneoaas已经降级到了zabbix 3.2,经过一番搜索可以通过外部脚本来处理抓到的字符串,首先编辑vim /usr/local/zabbix/etc/zabbix_server.conf,关掉externalscripts的注释,然后修改为正确路即可。

  snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.4.1.35047.2.10.7.0抓取到的值为SNMPv2-SMI::enterprises.35047.2.10.7.0 = STRING: “35 loginned users in all”,处理脚本如下:

#!/bin/bash
test=$(snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.4.1.35047.2.10.7.0)
#test1=`$test  | grep '"\d+'`
echo $test | awk '
{
string=$0
len=length(string)
for(i=50; i<=len; i++)
{
tmp=substr(string,i,1)
if(tmp ~ /[0-9]/)
{
str=tmp
str1=(str1 str)
}
}
print str1
}'
Tags: ,

zabbix安装配置简要记录

分类:linux日期:2018-04-10 - 10:45:17评论:0条作者:老谢

请优先参考:LNMP安装配置Zabbix搭建企业级监控平台

安装zabbix(CentOS 6.9 X64)
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
yum -y install net-snmp net-snmp-devel curl curl-devel perl-DBI net-snmp-utils
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.8/zabbix-3.4.8.tar.gz
tar -zxf zabbix-3.4.8.tar.gz
mysql -uroot -proot -e "create database zabbix character set utf8"
cd zabbix-3.4.8
mysql -uroot -proot  zabbix < database/mysql/schema.sql
mysql -uroot -proot  zabbix < database/mysql/images.sql
mysql -uroot -proot  zabbix < database/mysql/data.sql
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-openssl
make install
vim /etc/services
 
#添加下面的字段
zabbix-agent    10050/tcp                       #Zabbix Agent
zabbix-agent    10050/udp                       #Zabbix Agent
zabbix-trapper  10051/tcp                       #Zabbix Trapper
zabbix-trapper  10051/udp                       #Zabbix Trapper
 
#修改 zabbix server 配置文件
#注意:DBUser和DBPassword请自行根据实际情况填写数据库用户名及密码
vim /usr/local/zabbix/etc/zabbix_server.conf
DBUser=zabbix
DBPassword=zabbix
 
cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
chmod +x /etc/init.d/zabbix_server
chmod +x /etc/init.d/zabbix_agentd
 
#添加mysql client库到系统默认库中:
vim /etc/ld.so.conf
 
#添加:
/usr/local/mysql/lib
 
#启动
/etc/init.d/zabbix_server start
 
mkdir /home/wwwroot/zabbix
cp -r -a frontends/php/* /home/wwwroot/zabbix
配置fping
yum install epel-release.noarch
yum update
yum install fping
chown root:zabbix /usr/sbin/fping
chmod 710 /usr/sbin/fping
chmod ug+s /usr/sbin/fping
#修改/usr/local/zabbix/etc/zabbix_server.conf,删除FpingLocation=/usr/sbin/fping前的注释。

CentOS设置网卡DHCP自动获取IP地址

分类:linux日期:2017-10-29 - 0:06:12评论:0条作者:老谢

  抽空给一台闲置的笔记本装了CentOS,完事插网线发现ifconfig没有eth0地址,做出如下调整后可以正常从HDCP获取到IP地址,编辑网络接口配置文件:

/etc/sysconfig/network-scripts/ifcfg-eth0

  将ONBOOT改为yes,NM_CONTROLLED改为no,BOOTPROTO改为dhcp之后,重启网络连接即可:service network restart。

CentOS设置网卡DHCP自动获取IP地址

为树莓派3B添加LCD1602液晶屏

分类:linux日期:2017-08-13 - 17:09:15评论:19条作者:老谢

树莓派3B针脚说明

为树莓派3B添加LCD1602液晶屏

继续阅读…

Raspberry Pi 树莓派安装系统及基本设置

分类:linux日期:2017-08-10 - 16:47:30评论:1条作者:老谢

安装系统
  • SDFormatter
  • win32diskimager

  请从树莓派官网下载系统镜像,然后使用SDFormatter对TF卡进行格式化,格式化以后运行win32diskimager,选择系统镜像以及盘符以后,点击write,等待写入完全,等到出现对话框write successful就说明成功了。

Raspberry Pi 树莓派安装系统及基本设置

继续阅读…

分享一个服务器监控统计在线小程序

分类:linux日期:2016-12-03 - 18:39:33评论:4条作者:老谢

git地址http://git.oschina.net/supercell/service_count

  具体安装说明请参考git地址,原抓取服务器信息的sh脚本,free使用-h的参数,现在的free好像都没有-h参数了,改成-m参数即可,如果爱折腾,可以把cpu和硬盘信息也抓取出来加上去,代码贴出来:

一、cron.sh(抓取服务器信息,在被控端部署)
POST_URL=127.0.0.1/service.php
TOKEN=666
 
LOAD=`cat /proc/loadavg|awk '{print $1,$2,$3}'| tr ' ' ','`
 
#ram=`cat /proc/meminfo | grep MemTotal | awk '{print $2,$3}'`
 
 
RAM=`free -m | grep Mem | awk '{print $2}'`
USED=`free -m | grep Mem | awk '{print $3}'`
UPTIME=`uptime | awk '{print $3,$4,$5}' | sed 's/,$//'| tr ' ' ','`
 
curl -s -d "key="$TOKEN"&load="$LOAD"&ram="$RAM"&used="$USED"&uptime="$UPTIME"" $POST_URL > /dev/null

上传好cron.sh以后请添加到crontab,每分钟执行一次:

*/1 * * * * /你的路径/cron.sh

继续阅读…

SELINUX导致ssh修改端口号后sshd无法启动

分类:linux日期:2016-11-07 - 10:33:43评论:2条作者:老谢

  修改一台机器的ssh端口号后,发现连接失败,VNC连进去以后发现sshd没启来,重启也是失败,ssh端口改回默认22后启动正常,查了一圈发现是SELINUX的问题,关闭后问题即解决。

查看SELinux
/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
 
SELinux status:                 enabled
 
getenforce                 ##也可以用这个命令检查
关闭SELinux

1、临时关闭(不用重启机器):

setenforce 0                  ##设置SELinux 成为permissive模式
                              ##setenforce 1 设置SELinux 成为enforcing模式

2、修改配置文件需要重启机器:

修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可

mutt添加邮件附件报错unable to attach file

分类:linux日期:2016-10-29 - 12:37:52评论:0条作者:老谢

需要注意的是,在CentOS6下面,我们需要按照如下的方法去下,添加附件应该放置到最后面,这样才能成功,如果-a放到邮件地址前面会报错。

echo "xxx" | mutt -a /home/backup/xxx.tar.gz -s "title" xxx@xx.com

  就会报错,解决办法只需要把邮箱放前面即可。

echo "xxx" | mutt  xxx@xx.com -a /home/backup/xxx.tar.gz -s "title"

Centos6升级Python2.7安装setuptools及pip

分类:linux日期:2016-02-27 - 10:12:07评论:3条作者:老谢

yum install -y zlib-devel bzip2-devel xz-libs xz wget git tar gcc gcc-c++ openssl openssl-devel pcre-devel python-devel libevent automake autoconf libtool make git
wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
xz -d Python-2.7.8.tar.xz
tar -xvf Python-2.7.8.tar
cd Python-2.7.8
./configure --prefix=/usr/local
make && make altinstall
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
 
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python2.7 setup.py install
 
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-6.0.7.tar.gz
tar zxvf pip-6.0.7.tar.gz
cd pip-6.0.7
python setup.py install
Tags: ,

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: ,