@echo off
title "WPS Office 2016 10.1.0.6135 个人版一键去广告"
set wps_vsion=10.1.0.6135
set wps_addr=%localappdata%\kingsoft\WPS Office\%wps_vsion%\
set desktoptip=desktoptip.exe
set wpsnotify=wpsnotify.exe
set wpscloudsvr=wpscloudsvr.exe
set wpsupdate=wpsupdate.exe
set wpsrenderer=wpsrenderer.exe

set desktoptip_addr=%wps_addr%wtoolex\%desktoptip%
set wpsnotify_addr=%wps_addr%wtoolex\%wpsnotify%
set wpsupdate_addr=%wps_addr%wtoolex\%wpsupdate%
set wpsrenderer_addr=%wps_addr%office6\%wpsrenderer%

taskkill /IM %desktoptip%
taskkill /IM %wpsnotify%
taskkill /IM %wpscloudsvr%
taskkill /IM %wpsupdate%
taskkill /IM %wpsrenderer%

copy "%desktoptip_addr%" "%wps_addr%wtoolex\%desktoptip%.bak"
copy "%wpsnotify_addr%" "%wps_addr%wtoolex\%wpsnotify%.bak"
copy "%wpsupdate_addr%" "%wps_addr%wtoolex\%wpsupdate%.bak"
copy "%wpsrenderer_addr%" "%wps_addr%office6\%wpsrenderer%.bak"

echo fwps > "%desktoptip_addr%"
echo fwps > "%wpsnotify_addr%"
echo fwps > "%wpsupdate_addr%"
echo fwps > "%wpsrenderer_addr%"

sc stop wpscloudsvr
sc config wpscloudsvr start= disabled

echo "处理完成!! 可以关闭本窗口了"
pause

保存为 “WPS Office 2016 10.1.0.6135 个人版一键去广告.bat” bat批处理,右键用超级管理员权限执行

简介

Prometheus

Prometheus 是一个开源的服务监控系统和时间序列数据库。作为容器领域的监控比较热门。
Prometheus 采用 PULL 拉的方式进行监控,如果不在一个网络中可以采用 Push gateway 作为中间件来被 PULL 拉。
架构图为

Prometheus 官方提供常用的 exporters 。
blackbox_exporter 是 Prometheus 官方提供的 exporter之一,可以提供 http、dns、tcp、icmp(ping)的监控数据采集。

Grafana

Grafana 是开源的,功能齐全的度量仪表盘和图形编辑器,支持 Graphite,OpenTSDB,Elasticsearch,Cloudwatch,Prometheus,InfluxDB,小米监控
等。

安装

分别安装grafana、prometheus、blackbox_exporter,安装文档参考官网。

配置

prometheus 配置和运行

在prometheus的配置文件 prometheus.yml 中增加一个新的job

  - job_name: 'ping_all'
    scrape_interval: 5s
    metrics_path: /probe
    params:
      module: [icmp]  #ping
    static_configs:
      - targets: ['219.150.32.132', '219.148.204.66', '183.59.4.178', '202.96.209.5', '202.100.4.15', '219.146.0.253', '222.173.113.3', '61.139.2.69', '61.128.114.133', '202.98.234.35', '202.100.64.68', '202.100.100.1', '221.232.129.35', '222.88.19.1', '222.190.127.1', '202.96.96.68', '202.101.103.54', '61.140.99.11', '202.96.161.1', '202.103.224.74']
        labels:
          group: '一线城市-电信网络监控'
      - targets: ['218.8.251.163', '218.107.51.1', '221.7.34.1', '112.65.244.1', '218.25.9.38', '124.89.76.214', '202.102.152.3', '202.102.128.68', '124.161.132.1', '221.7.1.20', '27.98.234.1', '218.104.111.122', '218.28.199.1', '221.6.4.66', '221.12.31.58', '218.104.136.149', '210.21.4.130', '210.21.196.6', '221.7.128.68', '221.199.15.5']
        labels:
          group: '一线城市-联通网络监控'
      - targets: ['211.137.241.34', '211.136.192.1', '218.203.160.194', '117.131.0.22', '211.137.32.178', '117.136.25.1', '211.137.191.26', '211.137.180.1', '211.137.106.1', '218.202.152.130', '211.139.73.34', '223.77.0.1', '211.138.16.1', '221.131.143.1', '211.140.10.2', '211.143.195.255', '183.238.55.1', '218.204.216.65', '211.138.245.180', '211.138.56.1']
        labels:
          group: '一线城市-移动网络监控'
      - targets: ['61.233.168.1', '61.234.113.1', '211.98.224.87', '222.44.44.1', '222.33.8.1', '61.232.201.76', '211.98.19.1', '61.232.49.1', '211.98.208.1', '61.233.199.129', '222.34.16.1', '61.232.206.1', '61.233.79.1', '211.98.43.1', '61.232.78.1', '61.232.93.193', '211.98.161.1', '61.235.99.1', '222.52.72.66', '211.138.56.1']
        labels:
          group: '一线城市-铁通网络监控'
      - targets: ['219.150.32.132', '219.153.32.1', '219.149.6.99', '220.189.218.45', '123.172.77.1', '202.103.124.34', '222.172.200.68', '202.100.64.68', '222.93.201.1', '222.191.255.1', '202.101.224.68', '222.85.179.1', '220.178.79.2', '59.49.12.97', '222.223.255.1', '219.148.172.97', '219.132.199.49', '14.120.0.1', '222.223.29.5', '222.173.222.1', '202.101.107.55', '222.74.58.29']
        labels:
          group: '二线城市-电信网络监控'
      - targets: ['60.24.4.1', '221.5.203.86', '202.96.86.18', '221.12.33.227', '202.99.96.68', '58.20.127.238', '221.3.131.11', '124.152.0.1', '221.3.131.11', '221.6.96.1', '220.248.192.13', '221.13.28.234', '211.91.88.129', '202.99.192.66', '202.99.160.68', '202.99.224.68', '58.252.65.1', '221.4.141.254', '60.2.17.49', '202.102.154.3', '36.249.127.25', '202.99.224.8']
        labels:
          group: '二线城市-联通网络监控'
      - targets: ['211.137.160.5', '218.201.17.2', '211.140.192.1', '211.140.35.1', '211.141.66.209', '211.138.225.2', '111.17.191.25', '218.203.160.195', '211.103.55.51', '211.103.114.1', '183.217.255.254', '211.139.2.18', '211.138.180.2', '211.142.12.2', '111.11.85.1', '211.138.91.2', '218.204.173.197', '183.233.223.25', '211.143.60.1', '120.192.167.2', '218.207.133.3', '120.193.138.1']
        labels:
          group: '二线城市-移动网络监控'
      - targets: ['61.234.70.2', '211.98.114.1', '61.232.157.1', '61.234.186.1', '61.235.225.1', '211.98.71.1', '211.98.72.7', '123.81.2.9', '211.98.44.65', '222.45.86.1', '222.49.82.1', '211.98.108.1', '222.48.116.17', '211.98.149.117', '61.235.145.1', '222.39.142.1', '110.211.253.9', '222.50.104.1', '61.234.76.1', '61.232.53.113', '61.234.196.185', '222.39.156.1']
        labels:
          group: '二线城市-铁通网络监控'
      - targets: ['166.111.8.28', '202.112.26.34', '202.114.240.6', '202.116.160.33', '211.65.207.170', '218.26.226.100', '222.221.252.162', '202.38.64.1', '202.201.48.1', '202.118.176.1', '121.193.138.1', '222.23.245.1', '58.195.136.3', '202.118.1.28', '59.77.229.1', '121.48.177.1', '121.250.214.1', '59.75.177.1', '59.75.112.254']
        labels:
          group: '教育网络监控'
    relabel_configs:
      - source_labels: [__address__]
        regex: (.*)(:80)?
        target_label: __param_target
        replacement: ${1}
      - source_labels: [__param_target]
        regex: (.*)
        target_label: ping
        replacement: ${1}
      - source_labels: []
        regex: .*
        target_label: __address__
        replacement: 127.0.0.1:9115  # Blackbox exporter.

顺序运行 blackbox_exporter,prometheus

grafana 配置和运行

运行grafana
在 grafana中增加 Data Sources 选 prometheus
然后按照grafana的文档新定制一个面板
ROW中指标选probe_duration_seconds{job=”ping_all”}

grafana prometheus ping监控

起始

软件、资料、代码、照片等越来越多,好几台电脑需要共享。
公有网盘哪怕说稳定提供服务,实际上也保不齐那一天突然就要下线了。
所以干脆上个NAS吧。
选硬件,作为家用的NAS,群晖家庭版配置又看不上,企业版又贵了一些。
路由器跑NAS,性能也太差了,定位到X86平台。看了一些DIY方案,并不是很完美,最后
看上了万由的的整体解决方案,算了下价格,自己DIY的也便宜不到哪里去,机箱还是大问题。

硬件方案

万由HomeNASV3
主板:华擎J3710-ITX
机箱:410
内存:4G * 2
系统盘:128G SSD
数据盘: WD 4TB NAS红盘 * 2 + 已有2TB * 1

软件方案

母系统: Windows Server 2016
虚拟机:Hyper-V(群晖在虚拟机中)

上图

万由Home NAS V3

万由Home NAS V3

万由Home NAS V3

万由Home NAS V3

Windows Server 2016

Windows Server 2016

image-002

image-003

问答

母系统用 Windows Server 2016?
和win10一样的内核,功能更全
母系统如果用群晖会有数据安全顾虑
Windows系统自由度非常高

2个盘是否有阵列什么的?
见过有些人直接把物理盘挂在Hyper-V中,暴露给群晖做软Raid1
我不做整列,软整列我是不敢用的,还不如直接跑裸盘
在Win母系统下,硬盘NTFS分区,用NFS服务暴露给群晖用

为什么大家都虚拟化群晖用?
因为群晖有丰富和便捷的功能,可以方便的实现诸多功能,如下载,音乐,影视等
周边配套也非常全,如有手机客户端等

2个盘是如何做数据保护?
盘A,盘B
用软件定时同步 盘A 到 盘B,如按天同步
不开实时同步,可延长盘B的寿命
软件使用
方案1 FastCopy-M command模式 + 系统计划任务
方案2 傲梅轻松备份,既可以备份系统,也可以同步备份文件

设置WOL网络唤醒

需要设置2个地方
①BIOS设置
PCIE Device Power On (PCIE设备开机) 打开
②Windows Server 2016系统中设置
控制面板\所有控制面板项\网络连接
以太网>右键>属性>配置>高级
关机 唤醒 > 选 开启
魔术封包唤醒 > 选 开启
此时可LAN内网唤醒

支持WAN公网唤醒
* 启用DDNS(必须,域名解析动态IP)
* DHCP分配NAS机固定IP或NAS机设置固定IP(必须,固定NAS机内网IP)
* ARP静态绑定IP和MAC(必须,路由器自带功能IP和MAC绑定,启用静态 ARP 绑定,或在路由器自定义开机后运行绑定脚本一般是 arp -s ip mac)
* 端口映射:(任意源IP:协议UDP:端口9)=>(目标NAS的IP:协议UDP:端口9) (必须,UDP端口号可以任意,使用能记住的就ok)
* WOL客户端软件(可选,使用WOL客户端,用DDNS域名+端口9+NAS机MAC唤醒)

Tips:
可以使用wireshark抓wol包,进行检查测试。
WOL客户端使用手机APP更方便,ANDROID APP推荐Fing、PingTools。

参考教程

万由NAS,傻瓜式安装win10+hyper-v虚拟机+洗白黑群晖流程
DSM 5.2升级6.02-8451成功,附升级教程 目前黑6.x系列用的人还不错,建议成熟后再弄
华擎J3710-ITX主板官网
华擎J3710-ITX UEFI BIOS 设置

Elastic Stack5.0 5.x elk5.x部署疑问解答

如何给Kibana增加帐号认证?

Kibana5.0以下一般使用nignx反向代理,在nginx配置中增加HTTP Auth Basic
Kibana5.0起,官方提供X-Pack插件方案提供安全认证功能
在Kibana和Elasticsearch中安装X-Pack插件
官方文档
X-Pack for the Elastic Stack » Installing X-Pack
https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html
默认的帐号密码
帐号:elastic
密码:changeme
可在Kibana中 Management > Users 可视化管理
修改密码后,在/etc/kibana/kibana.yml配置文件中也要同步修改
elasticsearch.username: “elastic”
elasticsearch.password: “changeme”

在Kibana5.0 和Elasticsearch5.0上安装了X-Pack插件后启用了安全帐号密码,那么logstash output如何配置?

这个太坑了,文档不太好找,官方文档藏的太深
官方文档
X-Pack for the Elastic Stack » Securing Elasticsearch and Kibana » Tribe, Clients and Integrations » Logstash and Security
https://www.elastic.co/guide/en/x-pack/current/logstash.html
帐号密码存在es中,可以直接在kibana的Management中配置
然后在/etc/logstash/conf.d/logstash.conf 配置文件中

output {
    elasticsearch {
        hosts => ["你的esip"]
        index => "logstash-%{+YYYY.MM.dd}"
        document_type => "你的type"
        template_overwrite => true
        user => 你的帐号
        password => 你的密码
    }
}

最后重启logstash
提示:如果重启了没生效,用kill把logstash强制关闭,再开启。 调试logstash配置的,可以用tail -f /var/log/logstash/xxxx日志,观察日志文件是你解决问题的开始

Rancher Labs公司产品  http://rancher.com/

Rancher Labs 公司目前有2个产品。

  • Rancher Docker容器管理平台
  • RancherOS 一种适合Docker运行的Linux发行版,类似于CoreOS

Rancher Docker容器管理平台

如果说原生的Docker是一个一个集装箱,Rancher可以比喻成集装箱船,平台化管控,带着应用航行。

rancher 承载 docker

rancher 承载 docker

 

Docker环境安装

以下是在CentOS7的环境下安装Rancher

Docker官方安装方式

curl -sSL https://get.docker.com/ | sh

在国内环境下利用DaoCloud加速安装Docker环境

curl -sSL https://get.daocloud.io/docker | sh
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://你的daocloudID.m.daocloud.io #设置国内镜像加速下载
systemctl start docker.service #CentOS7 启动docker
systemctl enable docker.service #CentOS7 开机自启动docker
docker version #查看docker版本
docker info #查看docker信息
sudo service docker status #查看docker状态

安装Rancher Management Server 管理端

docker run -d --restart=always -p 8080:8080 rancher/server

安装Rancher Agent 被控端

主控端IP:8080 http://192.168.33.11:8080/ > Add Host
复制第五步的内容到被控机安装

sudo docker run -e CATTLE_HOST_LABELS='center=localdev&host=dev'  -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://192.168.33.11:8080/v1/scripts/31B86F01A71423902C9F:1474722000000:zRPBZeQo9rLTzrnTvhdfKRyBh3o

说明

安装好“Rancher Agent 被控端”后,就可以在 “Rancher Management Server 管理端” 管理、部署docker了
rancher没多少中文资料,直接看官方文档

扩展

Rancher支持&文档
Rancher 实战红宝书
DockerInfo Rancher
Docker编排工具调研:Rancher
都说要做细分,Rancher Labs想通过大而全的功能,帮助Docker完成在大型企业的落地
容器服务如何在企业客户落地?Rancher解决之道分享

 

介绍

ELK是业界标准的日志采集,存储索引,展示分析系统解决方案
logstash提供了灵活多样的插件支持不同的input/output
主流使用redis/kafka作为日志/消息的中间环节
如果已有kafka的环境了,使用kafka比使用redis更佳
以下是一个最简化的配置做个笔记,elastic官网提供了非常丰富的文档
不要用搜索引擎去搜索,没多少结果的,请直接看官网文档

采用的ELK/kafka版本

elasticsearch-2.x
logstash-2.3
kibana-4.5.1

Kafka 0.9.0.1

应用/网络 环境

Nginx机
10.0.0.1

Kafka群集
10.0.0.11
10.0.0.12
10.0.0.13

ElasticSearch机
10.0.0.21

整体说明

数据流向

日志/消息整体流向
logstash => kafka => logstash => elasticsearch => kibana

安装

elk所有安装都可以使用rpm二进制包的方式,增加elastic官网的仓库repo就可以用yum安装了

elasticsearch看这里
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

logstash看这里
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

kibana看这里
https://www.elastic.co/guide/en/kibana/current/setup.html

安装概览

nginx机 10.0.0.1
运行nginx的日志格式化为json
运行logstash输入input从nginx json,输出output到kafka

kafka群集 10.0.0.11 10.0.0.12 10.0.0.13
kafka群集Topic为logstash

elasticsearch机10.0.0.21
运行elasticsearch
运行logstash输入input从kafka,输出output到elasticsearch

Nginx机

nginx日志格式化为json

在nginx的 http{} 中定义一个名为logstash_json格式化,格式化日志为json

log_format logstash_json '{ "@timestamp": "$time_local", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_referrer": "$http_referer", '
'"body_bytes_sent":"$body_bytes_sent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_user_agent": "$http_user_agent" } }';

在server{} 中增加记录logstash_json日志,可以用原有的日志输出共存

access_log /data/wwwlogs/iamle.log log_format;
access_log /data/wwwlogs/nginx_json.log logstash_json;

logstash日志采集配置

/etc/logstash/conf.d/nginx.conf

input {
file {
path => "/data/wwwlogs/nginx_json.log"
codec => "json"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
kafka {
bootstrap_servers => "10.0.0.11:9092"
topic_id => "logstash"
compression_type => "gzip"
}
}

Kafka群集

新建一个Topic

新建一个Topic叫做
logstash

Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)

ElasticSearch机

logstash把数据从kafka存到elasticsearch的配置

其中选取kafka群集任意一个有zk的ip做连接使用
topic_id就是kafka中设置的topic logstash
/etc/logstash/conf.d/logstashes.conf

input {
kafka {
zk_connect => "10.0.0.13:2181"
topic_id => "logstash"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
elasticsearch {
hosts => ["10.0.0.21"]
index => "logstash-iamle-%{+YYYY.MM.dd}"
document_type => "iamle"
workers => 5
template_overwrite => true
}
}

补充说明

以上是主要的配置,就差kibana的查看/展示了

kibana

我这里kibana和elasticsearch是同一台机器
官方yum方式安装的kibana配置文件在
/opt/kibana/config/kibana.yml
需要改2个地方,监听端口和es的连接信息

server.host: "10.0.0.21"
elasticsearch.url: "http://10.0.0.21:9200"

启动kibana /etc/init.d/kibana start后可以通过 http://10.0.0.21:5601 访问

kibana的使用的多看官网文档,网上中文的资料不多,关于elk有一本饶琛琳写的
ELKstack 中文指南
https://www.gitbook.com/book/chenryn/kibana-guide-cn/details
kibana Discover 过滤静态文件
NOT \/static AND NOT \/upload\/

elasticsearch

官方yum方式安装的elasticsearch配置文件在
/etc/elasticsearch/elasticsearch.yml
需要配置下监听ip,默认是127.0.0.1

network.host: 10.0.0.21
path.data: /data

elasticsearch安装了head插件后可以看到es状态
http://10.0.0.21:9200/_plugin/head/

安全问题

特别要注意elk所有软件的端口监听,切勿暴露监听到公网上去,另外即便是内网你也得注意配置内网的访问限制