Prometheus邮件告警自定义模板的触发时间为utc的解决方法
背景Prometheus 邮件告警自定义模板的默认使用的是utc时间。
解决如果要改成北京时间的话可以这么改:
原来的告警模板的触发时间是这样子的:
1触发时间: {{ .StartsAt.Format "2020-01-02 15:04:05" }}
我们可以改成这样子的
1{{ (.StartsAt.Add 28800e9).Format "2020-01-02 15:04:05" }}
其中 Add 28800e9 就是表示加8个小时。
prometheus+grafana+alertmanager监控k8s无坑版
prometheus+grafana+alertmanager监控k8s无坑版摘要k8s搭建完成并正常使用的基础上,需要有一个动态存储我的环境:k8s版本 | Kubeadm部署 v1.18.0——– | —–k8s-master | 172.22.254.57k8s-node1 | 172.22.254.62k8s-node2 | 172.22.254.63(nfs服务端)StorageClass | nfs-storage
k8s-master有污点,如果需要监控到master,去除污点即可(非必要)
1kubectl taint nodes node1 key1=value1:NoSchedule-
prometheus-rules中的规则字段可能随着版本更新出现变化,如有变化可以通知我,我实时更新文档。目前规则内的字段在此版本我已更新过。放心使用
还有一个小细节:prmetheus跟alertmanager的configmap是支持热更新的。可以用以下命令来热更新,可能执行刷新的时候会有点儿久,等一下就好
1curl -X POST http:/ ...
clickhouse升级最新版21.6.6
闲聊上章提到clickhouse版本更新迭代较快,bug较多。以上篇文章20.8为例
项目中有用到clickhouse20.8来实时同步mysql8.13的数据,但是同步过去的表正常查询数据 插入数据都没有问题,遇到复杂查询(嵌套,运算,聚合)就会报错,在网上找了好多方法,最后才发现是clickhouse版本的问题,clickhouse官网文档在新的版本也有修复。
类似这一个sql,好像也不支持用in来嵌套
1234567891011121314151617181920SELECT generateUUIDv4() as ukey, apiName, toStartOfDay(toDateTime(timestamp / 1000)) AS time, count(apiName) AS numfrom audit.http_stripped_eventwhere apiName in ( SELECT data_val from data_dataTransfer_ch.t_task_check_field_data where task ...
clickhouse单机部署及实时同步mysql数据
clickhouse单机部署及实时同步mysql数据clickhouse20.8.3部分示例版本:20.8.3环境检查12grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"显示:SSE 4.2 supported,则环境支持
下载安装(单机模式)安装依赖
12yum install -y curlyum install -y libtool
添加Clickhouse 的yum镜像
1curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash
检查镜像情况
1yum list | grep clickhouse
安装 server client123456yum install -y ...
K8s nodePort、port、targetPort、hostPort详解
K8s nodePort、port、targetPort、hostPort详解1. nodePort外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),即nodeIP:nodePort是提供给外部流量访问k8s集群中service的入口。比如外部用户要访问k8s集群中的一个Web应用,那么我们可以配置对应service的type=NodePort,nodePort=30001。其他用户就可以通过浏览器http://node:30001访问到该web服务。而数据库等服务可能不需要被外界访问,只需被内部服务访问即可,那么我们就不必设置service的NodePort。
2. portk8s集群内部服务之间访问service的入口。即clusterIP:port是service暴露在clusterIP上的端口。mysql容器暴露了3306端口,集群内其他容器通过33306端口访问mysql服务,但是外部流量不能访问mysql服务,因为mysql服务没有配置NodePort。对应的service.yaml如下:
12345678910apiVersio ...
kubesphere最小化安装
KUBERSPHERE安装注:在k8s搭建完成的基础上安装最小化kubesphere
1234环境:centos7x3k8s-master 192.168.10.101 2核5Gk8s-node1 192.168.10.102 2核2Gk8s-node2 192.168.10.103 2核2G
kubeadmin安装kubernetes移步阿良大佬的教程基于kubeadmin搭建,master内存尽量给到7-8个G(我这里环境不允许,期间出现过多次蓝屏)
由于部分包被墙,搭建过程中可能会有许多包拉不下来,建议爬个梯子过去,或者本地翻过去之后给虚拟机做转发
1234在yum源存在的情况下yum -y install openvpn后台运行openvpn --daemon --config *.openvpn
出现什么什么successfully什么什么completely就ok了
一、安装helm1.地址 https://helm.sh/docs/intro/install/
12345678wget https://get.helm.sh/helm-v3. ...
docker下jumpserver跳板机,堡垒机详细部署
关于跳板机/堡垒机的介绍:跳板机可以使开发或运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标设备进行维护和操作
跳板机使用场景:
jumpserver概述Jumpserver是一款开源的开源的堡垒机,可使系统的管理员和开发人员安全的连接到企业内部服务器上执行操作,并且支持大部分操作系统,是一款非常安全的远程连接工具
常见支持的系统:CentOS, RedHat, Fedora, Amazon LinuxDebianSUSE, UbuntuFreeBSD其他ssh协议硬件设备
部署步骤实验环境Tips:该实验需要虚拟机接入互联网,使虚拟机上网可看我的另一个文章关闭selinux
1[root@centos7 ~]#setenforce 0
关闭防火墙
12[root@centos7 ~]#systemctl stop firewalld[root@centos7 ~]#iptables -F
安装docker的源12345[root@centos7 ~]#yum -y install wget[root@centos7 ~]#cd /etc/yum.r ...
让Linux虚拟机连接宿主机并且能够上网
系统:centos7.61:设置虚拟机的IP地址[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPADDR=192.168.10.101NETMASK=255.255.255.0GATEWAY=192.168.10.254DNS1=192.168.10.254#IPV6INIT=yes#IPV6_AUTOCONF=yes#IPV6_DEFROUTE=yes#IPV6_PEERDNS=yes#IPV6_PEERROUTES=yes#IPV6_FAILURE_FATAL=no#IPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=53739d53-97dd-47bf-9be1-8dd323d36030DEVICE=ens33ONBOOT=yes
注意:这里的ip地址可以随意设置,但要和后面的地址保 ...
oracle常用sql语句集合
1、说明:创建数据库Create DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server— 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice ‘disk‘, ‘testBack‘, ‘c:\mssql7backup\MyNwind_1.dat‘— 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],…)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname ad ...
解决oracle不能上下箭头翻历史命令问题
解决命令行中上下键不能翻历史命令的问题安装过程:将软件拷贝到/root下挂载光盘到/media/mnt下
12345678#mkdir /media/mnt#mount /dev/cdrom /media/cdrom#vim /etc/yum.repos.d/test.repo[aaa]name=aaabaseurl=file:///media/cdrom/enabled=1gpgcheck=0
添加本地yum源
12345[root@oracle ~]## yum -y install readline*[root@oracle ~]# cd /opt[root@oracle opt]# tar zxvf rlwrap-0.42.tar.gz[root@oracle opt]# cd rlwrap-0.42/[root@oracle rlwrap-0.42]# ./config ...