在centos6.5上编译安装zabbix2.4


zabbix server安装节点为:192.168.1.36

被监控主机节点为:192.168.1.37


本来想在centos6.5上安装zabbix3.0,没想到装到第一步就进行不下去了,百度、谷歌好半天也没搜到答案,好多人也遇到同样的问题:就是进入zabbix的web页面,第一步点击下一步时,现象是页面刷新后,没有进行下一步,所以,只好作罢,改装了zabbix2.4。

wKiom1gZravCRyFjAADoY3X4BMs442.png



还有一个失败是,本来打算使用企业公众号进行微信的zabbix告警实验,但也是到test时候一直失败,苦于找不到解答,只好采用网上文档较多的使用微信企业号进行zabbix告警实验。

wKiom1gZrQ_hS2JgAABJpwozD88981.png


所以,以上是遇到的问题解决不了,只好绕开问题把实验做成功。


zabbix的server端IP:192.168.1.36

zabbix的agent端IP:192.168.1.37


前提是两台主机的防火墙和selinux都关闭:

]#service iptabels stop

]#vim /etc/sysconfig/selinux

SELINUX=disabled


在server安装基础软件包,这里的环境使用yum安装,如果使用源码安装也是可以的

]# yum -y install wget vim tree gcc gcc-c++ autoconf httpd PHP MysqL MysqL-server PHP-MysqL httpd-manual mod_ssl mod_perl mod_auth_MysqL PHP-gd PHP-xml PHP-mbstring PHP-ldap PHP-pear PHP-xmlrpc PHP-bcmath mysql-connector-odbc MysqL-devel libdbi-dbd-mysql net-snmp net-snmp-devel curl-devel


启动httpd、MysqL并设置成开机自动启动

]# service httpd start

]# service MysqLd start

]# chkconfig httpd on

]# chkconfig MysqLd on


如果实际生产中设置了iptables,则可参考如下设置:

]# iptables -I INPUT -p tcp -m multiport --destination-port 80,10050:10051 -j ACCEPT

]# iptables -L -n

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT tcp--0.0.0.0/0 0.0.0.0/0 multiport dports 80,10050:10051

ACCEPT all--0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT icmp --0.0.0.0/0 0.0.0.0/0

ACCEPT all--0.0.0.0/0 0.0.0.0/0

ACCEPT tcp--0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

REJECT all--0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

#保存iptables规则

]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[OK]


三.配置PHP参数

zabbix的运行需要特定的PHP参数支持,修改如下

]# sed -i "s@;date.timezone=@date.timezone =Asia/Shanghai@g" /etc/PHP.ini

]# sed -i "s@max_execution_time =30@max_execution_time =300@g" /etc/PHP.ini

]# sed -i "s@post_max_size =8M@post_max_size =32M@g" /etc/PHP.ini

]# sed -i "s@max_input_time =60@max_input_time =300@g" /etc/PHP.ini

]# sed -i "s@memory_limit =128M@memory_limit =128M@g" /etc/PHP.ini

]# sed -i "s@;mbstring.func_overload =0@ambstring.func_overload=2@g" /etc/PHP.ini

修改httpd的FQDN错误,重启httpd服务

]# echo "ServerName localhost:80" >>/etc/httpd/conf/httpd.conf

]# /etc/init.d/httpd restart

四.下载zabbix-2.4.5.tar.gz

https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz/download?use_mirror=jaist

五.添加zabbix用户和组

]# groupadd -g 201 zabbix

]# useradd -g zabbix -u 201 -s /sbin/nologin zabbix

六.安装zabbix-server端

]# tar xf zabbix-2.4.5.tar.gz

]# cd zabbix-2.4.5

]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-MysqL=/usr/bin/MysqL_config --with-net-snmp --with-libcurl、

]# make && make install

#创建zabbix数据库以及相关表

]# MysqL -e "create database zabbix default charset utf8;"

]# MysqL -e "grant all on zabbix.* tozabbix@localhost identified by 'zabbix';"

]# MysqL -uzabbix -pzabbix zabbix<./database/MysqL/schema.sql

]# MysqL -uzabbix -pzabbix zabbix<./database/MysqL/images.sql

]# MysqL -uzabbix -pzabbix zabbix<./database/MysqL/data.sql

#配置软连接和启动文件信息

]# mkdir /var/log/zabbix

]# chown zabbix.zabbix /var/log/zabbix

]# ln -s /usr/local/zabbix/etc/ /etc/zabbix

]# ln -s /usr/local/zabbix/bin/* /usr/bin/

]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

]# cp /root/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_* /etc/init.d

]# chmod 755 /etc/init.d/zabbix_*

#修改/etc/init.d目录下的zabbix_server和zabbix_agentd启动文件

]# 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

#修改/etc/zabbix/zabbix_server.conf

]# sed -i "s@DBUser=root@DBUser=zabbix@g" /etc/zabbix/zabbix_server.conf

]# sed -i "s@# DBPassword=@DBPassword=zabbix@g" /etc/zabbix/zabbix_server.conf

]# egrep -v '^#|^$' /etc/zabbix/zabbix_server.conf

LogFile=/tmp/zabbix_server.log

DBHost=127.0.0.1

dbname=zabbix

DBUser=zabbix

DBPassword=zabbix

#修改/etc/zabbix/zabbix_agentd.conf,这里的IP地址写的是zabbix_server的IP地址,即192.168.1.3

]# sed -i "s@Server=127.0.0.1@Server=127.0.0.1,192.168.1.36@g" /etc/zabbix/zabbix_agentd.conf

]# sed -i "s@ServerActive=127.0.0.1@ServerActive=127.0.0.1:10051@g" /etc/zabbix/zabbix_agentd.conf

]# sed -i "s@tmp/zabbix_agentd.log@var/log/zabbix/zabbix_agentd.log@g"/etc/zabbix/zabbix_agentd.conf

]# sed -i "s@^# UnsafeUserParameters=0@UnsafeUserParameters=1\n@g" /etc/zabbix/zabbix_agentd.conf

]# egrep -v '^#|^$' /etc/zabbix/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

Server=127.0.0.1,192.168.1.36

ServerActive=127.0.0.1:10051

Hostname=Zabbix server

UnsafeUserParameters=1

#复制zabbix站点的文件到/var/www/html目录下

]# cp -r /root/zabbix-2.4.5/frontends/PHP/ /var/www/html/zabbix/

]# chown -R apache.apache /var/www/html/zabbix/

]# chkconfig zabbix_server on

]# chkconfig zabbix_agentd on

]# service zabbix_server start

]# service zabbix_agentd start

七.通过web站点配置zabbix

以上步骤配置完后通过http://192.168.1.36/zabbix/网页端进行后续配置

1.安装界面

wKioL1gZr4Hgzu2MAAOTdIxrWSA098.png


2.PHP配置检查界面,结果是OK表示正常,如果是fail状态,请修改相关的PHP配置参数,并重启httpd服务

wKiom1gZr6-wwj-HAARP71rCBhU415.png-wh_50


3.这里的数据库相关信息,在上文中有配置,具体请查看上文


wKioL1gZr8PA8v7MAANrWXWW8sA247.png


5.最后配置结果预览

wKiom1gZsD-hTW9XAAJh3EoEj9s679.png

6.安装完成

wKiom1gZsGKjzS71AAGVq5Me1I4336.png


八.访问zabbix的web管理界面

安装完成后,通过http://192.168.1.36/zabbix/index.php#就能直接访问web管理界面

默认用户名:admin,密码:zabbix

wKiom1gZsJLwS57vAAF0q8zmgxY627.png

九.调整zabbix语言

wKiom1galKTyXXHMAACTBQN0zLE556.png

十.zabbix语言设置成中文后,有乱码解决如下

注:我这步骤也是搜索网上的文档参考的,我操作时候,没有遇到中文乱码的情况,所以这个步骤就没做。

文档出处:http://www.iyunv.com/thread-62087-1-1.html

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

2.将字体上传至/var/www/html/zabbix/fonts目录下

3.修改zabbix页面管理的中文字体设置

]# vim /var/www/html/zabbix/include/defines.inc.PHP

#修改如下2行

define('ZBX_FONT_NAME','simkai');

define('ZBX_GRAPH_FONT_NAME',STXihei;color:#555555;background-color:#ffffff;">修改后的zabbix界面。

wKioL1gambuiwhkTAACQMi2jnvw967.png


十一.修改完以上步骤后,zabbix界面的历史记录还是乱码,这是由于MysqL的数据库字符集导致的,解决办法如下

注:此步骤,本次实验没有遇到。

1.备份zabbix数据库,并修改备份下来的数据文件

]# MysqLdump zabbix >zabbix.sql

]# sed -i 's/latin1/utf8/g' zabbix.sql

2.删除zabbix数据库

> drop database zabbix;

3.关闭MysqL数据库,设置默认字符集

]# service MysqLd stop

#在MysqL配置文件中添加字符集参数

]# vim /etc/my.cnf

[MysqLd]

datadir=/var/lib/MysqL

socket=/var/lib/MysqL/MysqL.sock

default-character-set = utf8

user=MysqL

# disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[MysqLd_safe]

log-error=/var/log/MysqLd.log

pid-file=/var/run/MysqLd/MysqLd.pid

4.启动MysqL并恢复zabbix数据库

]# MysqL

> create database zabbix;

> show create database zabbix;

> show databases;

> use zabbix;

> source zabbix.sql;


测试agent端与server端是否通信正常:

]# zabbix_get -s127.0.0.1 -p10050 -k"system.uptime"

65819

注:因为,zabbix服务器上安装了server端和agent端,所以直接在本地测试即可。

有输出,则表示通信正常。


注意:zabbix监控server本机,要先在页面上设定zabbix-server监控,才能使zabbix server端监控自己;

wKiom1gam3yhzGn_AACxM1zcjws994.png

根据下图:

wKiom1ganJWzImEhAABhVLbvKlA155.png

wKiom1ganJWzBq1mAABgJazYfJw931.png

wKioL1ganJbQGyAnAAEuJeMBaAQ094.png

wKiom1ganJeQmRrFAAFmcQMkaW0530.png

wKioL1ganJeSSJVKAABXtzhb2c0755.png

最后点击《添加》按钮即可。

此时,稍等片刻,应该就会在检测中--》仪表盘页面,就可看到

wKiom1ganZ_gNv-vAADKeLSMKOw272.png

这里的截图,显示绿色为已经监控到的主机,有2个,原因是,在写这篇博客时,已经做完整个实验,添加过另一台监控的主机了,所以显示有监控了2台主机(包括zabbix主机和一个agent端的主机)。


十二.在client端192.168.1.37安装zabbix

安装基础软件包

]# yum install wget vim tree gcc gcc-c++ -y

groupadd-g201zabbix

useradd-gzabbix -u201 -s /sbin/nologin zabbix

tar xf zabbix-2.4.5.tar.gz

cd zabbix-2.4.5

#开始编译安装zabbix客户端

./configure --prefix=/usr/local/zabbix --enable-agent

#创建zabbix的日志目录

#复制zabbix_agentd启动文件到/etc/init.d目录下

]# cp misc/init.d/fedora/core/zabbix_agentd/etc/init.d/

]# chmod 755 /etc/init.d/zabbix_agentd

#在iptables中放行10050和10051端口

]# iptables -I INPUT -p tcp -m multiport --dports 10050:10051 -j ACCEPT

]# service iptables save #保存iptables规则

#查看iptables结果

ACCEPT tcp--0.0.0.0/0 0.0.0.0/0 multiport dports 10050:10051

#修改启动文件和配置软连接

]# ln -s /usr/local/zabbix/bin/*/usr/bin

]# ln -s /usr/local/zabbix/sbin/*/usr/sbin/

#/etc/zabbix/zabbix_agentd.conf,这里的IP地址写的是zabbix_server端的IP地址

]# sed -i "s@Server=127.0.0.1@Server=192.168.3.28@g" /etc/zabbix/zabbix_agentd.conf

]# sed -i "s@ServerActive=127.0.0.1@ServerActive=192.168.3.28:10051@g" /etc/zabbix/zabbix_agentd.conf

]# sed -i "s@tmp/zabbix_agentd.log@var/log/zabbix/zabbix_agentd.log@g"/etc/zabbix/zabbix_agentd.conf

]# sed -i "s@^# UnsafeUserParameters=0@UnsafeUserParameters=1\n@g" /etc/zabbix/zabbix_agentd.conf

]# egrep -v '^$|^#' /etc/zabbix/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

Server=192.168.1.36

ServerActive=192.168.1.36:10051

Hostname=Zabbix server

UnsafeUserParameters=1

#设置zabbix_agentd开机自动启动,并启动zabbix_agentd服务

]# service zabbix_agentd start


在被监控主机命令行上设置完后,就可在zabbix的web管理页面上添加监控主机了。

添加步骤,同监控zabbix本机的步骤,这里不再赘述。

英文向导:Configuration→Hosts→Create host

这里要说明的是,在添加被监控主机时,主机名称和IP地址,要写被监控主机上的。

然后,再点击Configuration→Hosts的template增加模板(select)

加完后点击Configuration→Hosts效果,Z变绿就OK了

wKioL1gao-ODDG8oAACgvvbTbco269.png

至此zabbix基础搭建完成,接下来是重点微信报警。


十一.设置微信企业号


https://qy.weixin.qq.com/这个地址申请企业号 按照步骤一步步来就行了

这个微信企业号也是从网上搜到的文档,反正就是自己注册一个企业号,用手机扫描,输入个人身份证号、手机号就可以。基本就是鼠标操作,没有难度,顶多点错了,重新再点一遍呗。


参考文档出处:http://www.jb51.cc/article/p-kplbyuxh-qq.html


进入“通讯录”,点击“组织架构”旁边的加号,点击“新增成员”

wKiom1gapljjWWxDAAJw24V8f4I373.png

注:这里的账号相当于你的企业账号,与微信号无关。

必须先在此处创建用户,并且填写正确的微信号或者手机号,才可通过扫描二维码关注该企业号

我这里是crystal(这个会在后面脚本参数里用到)

wKiom1gapyKjclhSAAJ-6zYMZ1Y651.png

关注企业号的方法:点击左侧的“设置”-二维码,使用微信扫一扫扫描二维码

wKioL1gap5PTST-6AAKzWgVe9hM891.png

点击左侧列的“应用中心”,点击“自建应用”的图标zabbix

wKioL1gaqTaDB2TJAAH7DrovmkU051.png

注:创建应用时,上传了美女图片,本人�丝喜欢看美女,哈哈。

wKiom1gaqZ3AgjxTAAHsAdjHMMw370.png


这里要记住一个值:应用ID,后面配置需要填写。


设置-功能设置-权限管理-新建管理组

管理员必须事先已经关注了企业号,并且已经设置好邮箱地址

wKiom1gaq_aT057WAALZqaK-1dw479.png

增加完的系统组:

注意应用权限,通讯录权限,

注意:这里要记录下来下面的CorpIDSecret后面配置里要用到


下面是重点了:

http://qydev.weixin.qq.com/debug 微信企业号接口调试工具(看看接口是否能调用成功)

这里的CorpIDSecret填上,就会出现access_token

填写上步骤获得的信息,点击检查问题:

wKioL1garQuxByW7AAFFq4EABso866.png

检测后则会继续出现如下信息:(ok表示成功)

wKioL1garbbhJX29AADVZ5MGVm4830.png

得出的返回结果,复制红色框中的内容,下一步要用到。

然后接口类型换成发送消息

填写信息:

wKiom1gasfCSQn4JAADECAeEIzA686.png

这里的access_token已经在上一步获得了,重点是body,经过看官方给的格式小编总结如下:


{

"touser": "crystal",

"toparty": " PartyID1 | PartyID2 ",255);"> "totag": " TagID1 | TagID2 ",255);"> "msgtype": "text",255);"> "agentid": 1,255);"> "text": {

"content": "lala(http://xxxxx)"

},255);"> "safe":"0"

}

这里需要把touser的值(crystal)换成自己的员工账号

点击检查问题

然后大家就可以在微信企业号收到消息了,内容是lala(http://xxxxx)

wKioL1gas5jSCswlAABTlflC5ao881.png

以上证明接口调用没问题了,接下来就该上脚本了。


首先:脚本放什么位置

/usr/local/zabbix/share/zabbix/alertscripts

chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

好了,上正菜:

]# vim /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh

wKioL1gatOHBOePeAADPokrazyY632.png


#!/bin/bash

CorpID=wxef******7423(此处打码)

Secret=PYzCHeqi3Jjbp06V***(此处打码)_cKoaraeSqn8pLls

GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"

Gtoken=$(/usr/bin/curl $GURL -H "DNT: 1" -H "Accept-Encoding: gzip,deflate" -H "Accept-Language: zh-CN,zh;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/42.0.2311.135 BIDUbrowser/8.1 Safari/537.36" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "X-DevTools-Emulate-Network-Conditions-Client-Id: B546FC80-414C-403F-95F0-EB0F70E58EF7" -H "Connection: keep-alive" -H "Cache-Control: max-age=0" --compressed | awk -F \" '{print $4}')


PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {

local int appId=1

local userId=$1

local partyId=1

local tag=1

local msg=$(echo "$@" | cut -d" " -f3-)

printf '{\n'

printf '\t"touser":"'"$userId"\"",\n"

printf '\t"toparty":"'"$partyId"\"",\n"

printf '\t"msgtype": "text",'"\n"

printf '\t"totag":"'"$tag"\"",\n"

printf '\t"agentid":"'"$appId"\"",\n"

printf '\t"text":{\n'

printf '\t\t"content":"'"$msg"\"

printf '\n\t},\n'

printf '\t"safe":"0"\n'

printf '}\n'

}

body $1 $2 $3

/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

测试方法:

./weixin.sh crystal 1 helloevery

crystal 是用户账号(不是微信号,是你在企业号里的名字)

1 这是部门的ID(或者是应用ID,我的都是1)

test:是你想发的内容



wKioL1gazvySPa1NAABCZv2t2H8521.png

出现以上内容说明脚本执行成功,你的微信企业号会收到你发的报警内容,至此我们成功了多一半了*..*

wKiom1gaz5eDedQkAAA7OqYy0V0768.png

以上是手机微信收到的内容。

接下来我们要做的就是在web界面设置报警媒介类型和触发动作了

点击管理(Administration)-媒体类型(Mediatypes)-创建媒体类型(Create media type)

wKiom1ga0aTARZ0DAACmd5XkxYg049.png

填写完后,即可看到示警媒介类型增加了一个weixin。

下一步,点击点击管理(Administration)-Users Create user

wKiom1ga02bw36yVAACTaTypVGs828.png

wKiom1ga02egZD24AACQIDRM9mc587.png

点击管理(Administration)-Users Create user

wKioL1ga1H2iHHKqAABiO6NP2to317.png

选择用户组:

wKiom1ga1H_xV8gtAACy7KZ8xD8577.png


wKiom1ga1Tzj6AtNAABOyT83YBc880.png

此时,先不要点击添加,设置示警媒介后再添加。

wKioL1ga2W3wDv33AABWGRqgAc0524.png

选择创建的weixin:

wKiom1ga2Tih15HTAACBD6fvbfo693.png

Media点add

类型(ty)pe选刚才定义的weixin

收件人(send to) :填你的微信号

wKioL1ga2TiwsrpBAABy9Mn6vJ0529.png

接下来在permissions中把user_type改成超级管理员

wKioL1ga2niAeZfwAABMEmm2wAE109.png

wKiom1ga2njRA8SlAACQ6-ekfrY154.png

点击添加,到此user增加完毕了。

wKiom1ga2weCyQAfAACaNvqUMC8739.png

下面一步是创建触发动作

wKioL1ga3W6goQ0qAACXA0EnmzA767.png

wKioL1ga3W7zVvcQAACAyXnB1BM522.png

默认信息:

Host:{HOST.NAME}

Time:{EVENT.DATE}{EVENT.TIME}

Status:{TRIGGER.STATUS}

Event:{TRIGGER.NAME}


恢复信息:

Server recovered.

Host:{HOST.NAME}

Event:{TRIGGER.NAME}


这样当服务器恢复后,可以收到一条以Serverrecovered开头的信息,能及时知道服务器恢复正常。

条件(Conditions)无视。

注意:必须填完下面operations里的选项才能点击添加(ADD)

wKiom1ga35-xJ3M8AABUgsdtGQM907.png

wKioL1ga35_wLa2uAABewMaDJt4598.png

wKiom1ga36CwI38WAACVytHOSN0038.png


在填完操作(operations)里的选项时先按里面的add再按外面的add,否则会报错

wKiom1ga4EPAPQA2AABcWlGhxL4670.png

wKiom1ga4M3gtL07AABac5Ximow919.png

至此配置完毕,现在关闭被监控机,等一会,若微信收到消息,则配置成功。

大概等了有不到5分钟,微信报警就收到了。

wKiom1ga4v-xsML8AAB28GjLUDc357.png

wKioL1ga4wCyO7bDAACxESlWHHE271.png


到此为止,实验大功告成!!

烧香,网上能找到文档且能搞成功!!

centos6.5编译安装zabbix2.4及微信企业号告警的更多相关文章

  1. 使用最新的Flurry SDK和ios4重新启动应用程序

    我真的希望这对我来说只是一个愚蠢的错误.我很高兴使用Flurry但这样的事情会导致我的应用被拒绝.解决方法我写了关于这个的Flurry,他们很快回到我身边,他们会调查这个.大约一个星期后,他们回信并表示他们已经在v2.6中修复了它,现在可用了.我似乎无法重现这个问题.不是说我很棒或者什么,但我还是单枪匹马地解决了这个问题.

  2. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  3. 如何在Xcode 4.1中调试OpenCL内核?

    我有一些OpenCL内核没有做他们应该做的事情,我很想在Xcode中调试它们.这可能吗?当我在我的内核中使用printf()时,OpenCL编译器总是给我一大堆错误.解决方法将格式字符串转换为constchar*似乎可以解决此问题.这适用于Lion:这有上述错误:

  4. xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

    解决方法这是一个已修复的knownbug.目前唯一已知的解决方法是使用较旧版本的FacebookSDK.

  5. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

  6. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  7. ios – 如何在Xcode 4.5中完成代码签名

    解决方法事实证明,从AppStore升级XCode并不会自动升级所有内容.转到首选项/下载,并确保安装最新的命令行工具.

  8. xcode7 – 谁在创建文件“/private/var/tmp/Untitled-*.uicatalog”?

    我正在调查为什么TeamCity构建代理程序用完了磁盘,并且在/private/var/tmp中找到了超过11,000个文件,它们都以Untitled-.uicatalog行命名.每个文件至少0.6MB.总磁盘占用空间约为4GB.这些文件可以追溯到几个月,所以他们能够重新启动.谁在创造他们?Xcode在编译至少有一个图像的xcassets目录时创建这些目录.我可以删除它们吗?

  9. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  10. ios – Client.ipa不包含文件

    从过去的几天开始,我就把这头发错了.当我尝试提交基于cordova的iOS应用程序时,我收到一个错误,即符号工具失败.这就是我在日志中的内容:以下是尝试提交到应用商店时所述错误的屏幕截图:请帮忙.解决方法我有同样的错误,因为应用程序包中错误地包含了几个静态库(libXXX.a).它们显示在主.App下的最终上传确认框(列出权利和证书)中.我的解决方案是从项目中删除对这些静态库的所有引用,在链接器标

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部