为Nginx开启H2协议访问

分类:网站技术日期:2019-03-15 - 14:13:34评论:13条作者:老谢

H2是什么

  HTTP 2.0即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。HTTP/2 协议是从 SPDY 演变而来,SPDY 已经完成了使命并很快就会退出历史舞台(例如 Chrome 将在「2016 年初结束对 SPDY 的支持」;Nginx、Apache 也已经全面支持 HTTP/2 ,并也不再支持 SPDY)。

  一般的大家把 HTTP2 简称为 h2,尽管有些朋友可能不怎么愿意,但是这个简称已经默认化了,特别是体现在浏览器对 HTTP2 都是这个简写的。

如何开启

  升级Nginx至最新稳定版,我升级到的是1.14.2,旧版本可能不支持H2协议,至于Nginx从哪个版本开始支持H2协议,感兴趣的可以自己搜搜。

server {
    listen 443 ssl http2 default_server;
 
    ssl_certificate    server.crt;
    ssl_certificate_key server.key;
    ...
}

Zabbix 数据库备份

分类:运维技术日期:2019-01-15 - 10:25:14评论:4条作者:老谢

  脚本主要是过滤掉保存监控数据的几个大表,因人而异,对我来说监控数据没了就没了,可以重新采集,但是剩下的监控配置,模板(我自建模板就100多个,如果丢了,我会哭的。),Action(这种东西都是各种匹配,调用丢了的话,真没法回逆),用户信息这些配置真的是非常重要。这样备份的好处,备份速度快,量小,重要的数据都备份了。恢复的时候呢,先建库,按照安装zabbix的时候导入数据库,导入那个主要就是为了创建几个历史表的结构,然后在拿这个备份导入,覆盖一下就行了。

#!/bin/bash
# @Date : 2016-06-07 09:25:56
# @Author : ukyomud (ukyomud@qq.com)
# @Filename :
# @Description :
PATH="/sbin:/usr/sbin:/bin:/usr/bin"
export PATH
# 数据库账号
NAME='zabbix'
# 登录密码
PASSWD='密码'
# 数据库备份路径
BAK_DIR="/workspace/zabbix_backup/zabbix_sql_backup"
# 备份日志的log
BAK_LOG_FILE="/var/log/zabbix_bk_log"
# 备份数据轮转天数
DEL_FILE_DAYS=7
# 当前时间
DATE_NOW=$(date +'%Y-%m-%d')
# 数据库主机
HOSTSER="数据库主机"
# 要过滤掉的数据表,这个可以根据自己的情况变更
FILTER_TABLE="history_uint|history|trends_uint|trends|history_text|alerts|events"
# 数据库连接端口
PORT=3306
# 判断有没有备份目录,没有的话创建一下。
[ -d $BAK_DIR ] || mkdir -p $BAK_DIR
# 过滤出要备份的表,一次备份。
for tablename in $(mysql -h"$HOSTSER" -u"$NAME" -p"$PASSWD" -P"$PORT" zabbix -e "show tables;" 2>/dev/null | grep -Ev "$FILTER_TABLE");do
 /usr/bin/mysqldump -N -h"$HOSTSER" -u"$NAME" -p"$PASSWD" -P"$PORT" zabbix ${tablename} >>${BAK_DIR}/zabbixdb.${DATE_NOW}.sql 2>>${BAK_LOG_FILE}
done
# 我个人习惯是单独有个zabbix目录,用来保存zabbix 调用的脚本。
# 所以这里顺道做了备份。
cd /workspace/zabbix_backup/zabbix_scripts_backup
tar czvf zabbix.tgz.$(date +%F) /workspace/zabbix
# 查找7天前的日志,进行删除。
find $BAK_DIR -type f -ctime +${DEL_FILE_DAYS} | xargs rm -f
find /workspace/zabbix_backup/zabbix_scripts_backup -type f -ctime +${DEL_FILE_DAYS} | xargs rm -f

内容更新于: 2017-07-26 18:06:58
链接地址: http://blog.leanote.com/post/xiaomi/Zabbix-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD

Tags:

Radware LinkProof 8016 负载均衡器开机主板E0错误修复

分类:网络技术日期:2018-12-18 - 14:14:05评论:11条作者:老谢

  这台躺尸的8016坏的时候拆开看过,面板报FANS红灯,里面确实几个风扇不转,自此认为可能是风扇损坏导致无法启动……

  损坏的风扇型号分别SUNON的为GM1204PQB1-8A和KDE1204PFVX三针版,这种小配件果断交给万能的马爸爸采购,到货之后换上,FANS红灯解除,但系统仍然无法启动,主板E0错误,console卡在第一屏无法顺利启动加载系统,这果断不应该是风扇的问题导致的,其实最开始我就想这么重要的设备,怎么可能会因为风扇无法工作BIOS就拒绝启动,这么做是非常诡异的事情。

  经过祭出度娘和谷哥大神后,没有任何关于8016主板E0错误的资料(确实不会轻易泄露出资料,不然谁去买原厂维保,tb找了家随便问了下E0维修给出了7k的价格),但是在更换风扇的过程中发现8016使用AMD的Opteron CPU,搭载8条1G DDR2 ECC服务器内存,依靠多年拯救PC的经验(修电脑)抱着试试看的态度,把内存全部拆除,清理机箱内灰尘以避免插入内存时灰尘导致内存条短路,然后用橡皮擦清理内存条金手指上的氧化层,完成后插入内存,尝试启动BIOS,卧槽,奇迹真的出现了,console跳过第一屏,开始进入系统启动流程,至此成功复活……

  具体E0错误的含义果断还是不知道,但当你的8016也出现类似E0错误,也可以尝试清理内存或更换内存后尝试启动,可能会奇迹般的复活,毕竟我们能做的并不多……

配置文件导入报错

  把现网中运行的8016配置文件导出,然后导入修复的这台8016中的时候出现错误:reporting client-table hard-disk set Disable,经过搜索也没有太多相关的资料,但根据提示看跟硬盘有关系,拆开的8016内部是没有硬盘的,难道是因为缺少硬盘的缘故才没有reporting client-table hard-disk这条命令?

  仍抱着试一试的心态,拆了一块硬盘给8016装上(8016内部带硬盘位和电源线,需要自己准备SATA线,主板上带2个SATA接口),重启后果然有这条命令了,重新导入配置文件成功!

继续阅读…

终于买了张满意的桌子

分类:乱七八糟日期:2018-12-14 - 21:17:29评论:19条作者:老谢

  刚搬家没多久,买了张一百块的桌子,实在是晃的不行,桌板也是很单薄,使用的这三个月都在忍受着晃动和生怕一不小心就塌了,但是买桌子这种大物件买贵了又担心搬家不好带走到时候浪费,一直都是能凑合用就凑合用,等有自己的房子再折腾的态度,终于还是忍不住了,买买买,搬不搬的走到时候再说吧,毕竟在家活动主要范围就是床跟桌子,何必难为自己。

  当然尺寸还是最小的尺寸,毕竟尺寸更大价格也很感人,继续YY等有了房子搞个更大的桌子,妥妥4K双屏搞起来,美滋滋!

继续阅读…

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监控Apache性能

分类:linux, 运维技术日期:2018-11-24 - 14:39:19评论:0条作者:老谢

  和之前写过的Zabbix 3.2 agentd监控Nginx性能原理差不多,都是通过web引擎输出status信息来进行性能监控,一般情况下我们需要对ReqPerSec、BytesPerSec、BusyWorkers、IdleWorkers四个数据进行关注。

开启Apache Status
Listen 80
<VirtualHost *:80>
    CustomLog /dev/null common
    ErrorLog /dev/null
    <Location "/server-status">
        SetHandler server-status
        Require ip 127.0.0.1
    </Location>
</VirtualHost>

  我这里生产环境监控的是一台WHM服务器,默认开启apache status,访问地址为http://127.0.0.1:80/whm-server-status?auto,正常情况下应该如下页面内容:

Apache Server Status for 127.0.0.1 (via 127.0.0.1)
Server Version: Apache/2.4.37 (cPanel) OpenSSL/1.0.2p mod_bwlimited/1.4
Server MPM: prefork
Server Built: Oct 29 2018 18:29:24
Current Time: Thursday, 22-Nov-2018 13:48:50 CST
Restart Time: Thursday, 22-Nov-2018 13:48:35 CST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 15 seconds
Server load: 0.05 0.09 0.08
Total accesses: 7 – Total Traffic: 54 kB – Total Duration: 19687
CPU Usage: u.02 s0 cu0 cs0 – .133% CPU load
.467 requests/sec – 3686 B/second – 7.7 kB/request – 2812.43 ms/request
7 requests currently being processed, 4 idle workers

……………

继续阅读…

Tags: ,

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

分类:linux, 运维技术日期:2018-11-22 - 14:23:58评论:2条作者:老谢

  Zabbix版本从3.0之后,开始支持Zabbix server, Zabbix proxy, Zabbix agent, zabbix_sender and zabbix_get之间的通信加密,加密方式有预共享密钥(PSK)和证书加密,加密配置是可选项,一些proxies和agents可以使用证书认证加密通信,另外一些可以使用PSK加密通信,而剩余的可以不使用加密进行通信,需要注意的是如果希望使用加密通信,编译的时候必须加入 –with-openssl参数。

生成并添加PSK共享密钥

  使用命令openssl rand -hex 32生产一串密钥,配置步骤如下:

[root@zabbix scripts]# openssl rand -hex 32
ef52cbe2d1a35e6bb3c43b22bd4f1a1d7bf24d1ccb7c47f6a602425970da5432
 
# 将生成的密钥写入该文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
 
vim /usr/local/zabbix/etc/zabbix_agentd.conf
 
#加入
TLSConnect=psk
TLSAccept=psk
TLSPSKFile=/usr/local/zabbix/etc/zabbix_agentd.conf.d/zabbix_agentd.psk
TLSPSKIdentity=PSKTest
 
#配置完成后重启zabbix_agent进程
在zabbix web gui中添加

Zabbix通过PSK共享密钥实现Server和Agent的通信加密

测试命令
zabbix_get -s 127.0.0.1 -k "system.cpu.load[all,avg1]" --tls-connect=psk --tls-psk-identity="PSK 001" --tls-psk-file=/etc/zabbix/zabbix_agentd.conf.d/zabbix_agentd.psk
Tags: ,

Grafana 5.3 安装及配置

分类:linux日期:2018-11-21 - 19:36:01评论:0条作者:老谢

Zabbix 4.0 LTS

  2018年10月1日,Zabbix官方正式发布Zabbix 4.0 LTS版本,作为长期支持版本,意味着可以获得官方5年的支持。其中完全支持到2021年10月31日,以及有限支持到2023年10月31日,同时官方4.0文档已经更新。
最直观的感受就是重新设计了图形展示,新增了Kiosk模式实现真正意义上的全屏,可以直接做大屏展示,时间选择器做的和Kibana类似;

  Zabbix 4.0 LTS对分布式监控Proxy方式也做了优化,引入了与Proxy通信的压缩,大大减少了传输数据的大小。从而提高了性能。

Zabbix 4.0 LTS 详细了解优化及新增功能参考如下:
新增功能[:https://www.zabbix.com/whats_new]
官方文档:[https://www.zabbix.com/documentation/4.0/manual].

Grafana v5.3
  • Grafana v5.3带来了新功能,许多增强功能和错误修复。
  • Google Stackdriver作为核心数据源;
  • 电视模式得到改善,更易于访问
  • 提醒通知提醒;
  • Postgres获得了一个新的查询构建器;
  • 改进了对Gitlab的OAuth支持;
  • 带模板变量过滤的注释;
  • 具有自由文本支持的变量。

Grafana5.3 详细了解优化及新增功能参考如下:
新增功能:http://docs.grafana.org/guides/whats-new-in-v5-3/

安装
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.3.0-1.x86_64.rpm
yum -y install fontconfig freetype* urw-fonts
yum -y install grafana-5.3.0-1.x86_64.rpm 
chkconfig --add grafana-server
chkconfig grafana-server on
grafana-cli plugins install alexanderzobnin-zabbix-app
/etc/init.d/grafana-server restart
 
#zabix的api地址是根目录下的<em>api_jsonrpc.php</em>,grafana默认端口号3000,抄自:http://blog.51cto.com/10880347/2306804。

Surface Pro 4分辨率过高导致远程桌面过小的问题

分类:乱七八糟日期:2018-11-17 - 22:40:26评论:4条作者:老谢

  Surface真的是相见恨晚的机器,高配的机器完完全全可以替代笔记本当作主力机工作,键盘手感也尚佳,就是ctrl和fn的位置有点不习惯,反正我这两天是狂按错,有钱可以直接干到pro6顶配美滋滋,还是说回正经的,有很服多win服务器需要管理,远程桌面就是必备的日常工具了,但是因为surface分辨率太高,远程桌面过来的分辨率字体显示太小了完全没法正常用,除非拿放大镜,但是也没办法在远程的服务器上设置字体缩放,找了一圈还真有解决办法,下面贴出来,全文基本是照抄,发出来只是为了以后自己找方便啦,抄自:http://www.cnblogs.com/hengwei/p/6442252.html。

编辑注册表

  HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > SideBySide,添加键值PreferExternalManifest,并设置值为1,作用是指定可以使用外部的Manifest。

创建Manifest文件,C:\Windows\System32\mstsc.exe.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0" processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
 
<dependency>
  <dependentAssembly>
    <assemblyIdentity
      type="win32"
      name="Microsoft.VC90.CRT"
      version="9.0.21022.8"
      processorArchitecture="amd64"
      publicKeyToken="1fc8b3b9a1e18e3b">
    </assemblyIdentity>
  </dependentAssembly>
</dependency>
 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel
        level="asInvoker"
        uiAccess="false"/>
    </requestedPrivileges>
  </security>
</trustInfo>
 
<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>
 
</assembly>

  再远程桌面就搞定了,就是字体会很模糊,有空再研究吧。

修复Surface Pro 4幽灵触摸故障

分类:乱七八糟日期:2018-11-16 - 10:27:55评论:92条作者:老谢

最新更新 2020.1.1

  幽灵触摸故障重现,频率偶尔,原因不详,戳几下幽灵触摸的点就能暂时恢复,修复程序报错无法正常运行。

原文

  闲鱼收了台i7/16/256的surface pro 4,测试半天没毛病确认收货重装系统以后幽灵触摸的故障出现了,到微软店里检测判断硬件损坏换屏要3605,以为这波翻车了。

  所谓“幽灵触摸”就是在屏幕边缘一直显示触摸后才会显示的圆形效果,也就是好像有幽灵的手在一直按着屏幕一样,导致鼠标触摸完全无法正常使用,作为一个资深装系统人员,原以为就是驱动问题,经过一大圈的折腾发现在UEFI下居然也会有触摸故障,这下我自己也认为硬件故障了,送至微软销售店又是一通装系统打驱动,问题依旧,这下心里瞬间凉凉,换块屏3605!尼玛收一台机器都还没到5000,不死心经过彻夜的搜索,终于搞定了……

以下是关于surface幽灵触摸的相关参考文档

  反正找了一大圈,问题瞄准了sony屏幕本身的bug,需要使用491758_intl_x64_zip.exe修复程序进行修复,反正死马当活马医吧,结果奇迹出现了,居然真的修好了!但是这个491758_intl_x64_zip.exe很难找到,https://hotfixv4.trafficmanager.net/Surface%20Pro%203/latest/KB3165497/1/free/491758_intl_x64_zip.exe这个是在微软官方找到的下载链接。

  算是被这个bug折腾了两个晚上,先把问题发出来,之后会有时间会编辑关于surface更详细的更新~

继续阅读…