prometheus+Grafana+Altermanager实现监控数据可视化与报警
1、Prometheus 介绍安装本文参考我的好朋友的文章 Mr.pu 监控模板文档
本次监控部署应用到的相关软件如下
123456789prometheus 数据采集和存储 提供PromQL语法查询alertmanager 警告管理 进行报警node_exporter 收集主机的基本性能监控指标blackbox_exporter 收集http,https,tcp等监控指标redis_exporter 收集redis相关的监控指标mysqld_exporter 收集mysql相关的监控指标pushgateway 向prometheus推送监控指标PrometheusAlert 运维告警转发系统 结合alertmanagergrafana 监控数据大盘展示
服务端口说明
12345678910111213141516prometheus 启动 9090 端口alertmanager 启动 9093 端口PrometheusAlert 启动 8080 端口grafana 启动 3000 端口blackbox_exporter 启动 9115 端 ...
Linux增加google双因素认证
前言Google Authenticator,是谷歌推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题;许多安全性比较高的网站都会采用这种工具来验证登录或者交易;这个动态口令就是Google身份验证器每隔30s会动态生成一个6位数的数字。它的作用是:对你的账号进行“二步验证”保护,或者说做一个双重身份验证,来达到提升安全级别的目的。
安装步骤首先在您的手机上安装双重验证程序: Google Authenticator
我使用的是 Centos 7 ,默认那个用户执行的就需要在那个用户下输入 google-authenticator命令
1234567891011121314$ yum install google-authenticator$ google-authenticator// 根据提示内容输入 建议yyyy$ echo "auth required pam_google_authenticator.so" >>/etc/pam.d/sshd主要添加一下内容[root@hk-ali-c5-55 ~]# egrep -v & ...
Resilio Sync 实时同步工具
Resilio Sync 实时同步软件resilio Sync是一款专业的同步软件,可以同时在 windows,Mac,以及手机端 进行实时同步或者文件拷贝
优势:
Resilio 的速度和可扩展性主要得益于两个特性:我们的 P2P 架构和 WAN 优化。P2P 架构是有机可扩展的。 每个设备都可以与其他所有设备共享数据。这是一个网状网络。因此,您添加的设备越多,您添加的“服务器”就越多。这极大地加快了传输过程而不是减慢了传输速度:客户端 A 上的新数据可以发送到客户端 B、C、D 等,并且他们每个人现在都可以将这些数据发送到其他客户端
另外还有很多高级功能,以下是官方文档可以参考
1234567官网 https://www.resilio.com/使用说明:https://help.resilio.com/hc/en-us/articles/205457815-Sync-Private-Identity-Linking-My-Devices在windows下作为服务运行: https://help.resilio.com/hc/en-us/articles/207701296- ...
DevOps基于Jenkins的CI/CD
Jenkins简介安装
持续集成是 DevOps 最重要的部分,用于集成各个 ***DevOps 阶段***。Jenkins 是最著名的持续集成工具
什么是持续集成持续集成是一种开发实践,在这种实践中,要求开发人员每天多次或更频繁地对共享存储库中的源代码提交更改。然后构建存储库中进行的每个提交。这使团队可以及早发现问题。除此之外,根据持续集成工具的不同,还有其他一些功能,例如在测试服务器上部署构建应用程序,为相关团队提供构建和测试结果等。
Jenkins 经常和gitlab结合实现 CI/CD ,是基于 Java的独立程序,jenkins结合脚本和插件可以把代码自动部署到公司服务器上去,是常用的CD组件 官网位置
代码能不能部署到生产环境?
测试人员通过以后需要通过发送邮件发送测试报告
如何部署?部署什么服务是由开发定义
手动、脚本、Jenkins、自动化平台等
部署那些机器都是提前写好一个表格里面,部署时间我们公司基本都是周四晚上 12:00左右,周五还有时间观察
如果是 kubernetes 容器可以随时部署·
1234jenkis是用来以非交互的方式连接到g ...
DevOps基于Gitlab的CI/CD
一、Devops 简介:
Devops 是 Development 和 Operations的组合 ,也就是运维和开发的简写,主要针对企业中的研发人员、运维人员、和测试人员在应用。
Devops 强调整个组织的的合作和基础设施变的更加自动化,从而实现持续集成、持续部署、持续交付。
CI / CD 的区别 :
CI 代表持续集成:多名开发者在开发不同代码的过程中,频繁的将代码合并到一个地方。(针对开发)
CD 代表持续部署: 基于某种工具或者平台实现代码的自动化构建、测试和部署到上线环境实现交付保质量的产品,代表这开发端对的更新迭代速率(针对运维)
持续交付: 在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的表现
1.1:常见的部署方式
开发自己上传 –> 最原始方案 (不标准,用户不统一)
开发给运维手动上传 –>运维自己手动部署
运维使用脚本复制 –> 半自动化
结合web界面一键部署 –> 自动化
结合 crontab 实现代码的全自动部署 –全自动化
成功或者失败以后需要有邮件 ...
KVM-虚拟化学习
虚拟化简介 什么是虚拟化?
创建软件或虚拟表示的应用、服务器、存储和网络,减少 IT 开销 ,同时提高效率
虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘 空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个计算机配置环境,并重新分 割、重新组合,以达到最大化合理利用物理资源的目的。
虚拟化可以提高 IT 敏捷性、灵活性和可扩展性,同时大幅节约成本,实现更高的工作负载移动性、自动化运维 - 这些都是虚拟化的优势
在公司使用私有云的话如何上线以及物理机选择服务器建议配置
CPU : 2x 24核心 核心 主频
内存 : 128G / 192G / 256G / 512G / 1T / 1.5T
硬盘 : 最好固态 4块做read / 机械盘2.5 / SAS 7.2K 10K
网卡 : 万兆
云计算分类
公有云:比如阿里云、AWS、腾讯云等等 ,只要付费就可以使用,不需要关心底层技术,但是数据 ...
Ubuntu18.04【Lsyncd】文件实时同步
描述
Lsyncd是Rsync + ssh是一种高级操作配置,它使用SSH来操作文件和目录,直接在目标上移动,而不是通过线路重新传输移动目.可以最快的速度去让目标主机做到同步功能
环境
nginx1: 10.0.0.87
nginx2: 10.0.0.88
安装使用aliyun的源即可apt安装
apt-get install lsyncd
apt install rsync
查看安装的版本
root@k8s-etcd1:/etc/nginx# lsyncd --version
Version: 2.1.6
创建必要文件夹mkdir /etc/lsyncd #ubuntu需要手动创建配置文件定义
mkdir /var/log/lsyncd
touch /var/log/lsyncd/lsyncd.{log,status}
配置免密登陆ssh-keygen -t rsa
ssh-copy-id root@10.0.0.88
ssh root@10.0.0.88 (无需密码即可登陆)
编辑配置文件cd /etc/lsyncd/
vim lsyncd_ngin ...
Nexus部署以及备份恢复
nexus安装
这里直接使用Docker一键部署,具体文件路径可以自定义
12345678910docker run -d --restart=always -p 8081:8081 --name nexus -v /data/nexus:/nexus-data sonatype/nexus3登录nexus账号默认admin,密码查看配置文件,登录成功会提示修改密码cat /data/nexus/admin.password// 测试是否正常[root@shanghai-dev-maven01 nexus]# curl -u admin:woxihuan123. http://localhost:8081/service/metrics/pingpong"上面的用户名和密码根据自己本机的用户名密码修改即可,得到pong响应即表示nexus3启动完成"
数据迁移恢复参考连接1 参考链接2
数据备份121、创建Task备份数据库,创建好以后时间可以推迟,然后点击手动备份,对应目录看到备份说明备份成功Nexus Repository Manager --> ...
三、k8s安装DNS以及dashboad
k8s有一个很重要的服务特性(服务发现)。一个service被创建,那么这个service的IP和port都可以注入pod使用。Kubernetes主要支持两种service发现机制:环境变量和DNS。没有dns服务的时候,kubernetes会采用环境变量的形式,一旦有很多个service,环境变量会变得很复杂,为了解决这个问题,我们使用DNS服务。
root@k8s-master1:/etc/kubeasz# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
net-test1 1/1 Running 0 6d22h 10.200.218.1 10.0.0.48 <none> <none>
net-test2 1/1 Running 0 6d2 ...
二、k8s集群维护(升级,添加,删除)
k8s版本升级
温馨提示 : k8s升级一定要测试环境测试好,最好不要跨大版本,而且需要停止服务 首先进入官网找到需要下载的版本
https://github.com/kubernetes/kubernetes/releases
下面是我们需要升级的版本 1.21.4,需要把安装包down下来,选择amd.tar.gz 下载好之后上传至部署节点
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#downloads-for-v1214
上传安装包
root@k8s-master1:~# cd /usr/local/src/
root@k8s-master1:/usr/local/src# ls
kubernetes-v1.21.4-client-linux-amd64.tar.gz
kubernetes-v1.21.4-node-linux-amd64.tar.gz
kubernetes-v1.21.4-server-linux-amd64.tar.gz
kubern ...