什么是运维-对运维的一个理解
这不年底了吗最近在写年终工作总结汇报,领导让总结下对运维的理解然后给上面不懂技术的大领导看,然后就整理了下面这篇文章。
什么是运维?运维是指在大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与健康运行。
它集合了软硬件、网络、系统、数据库、开发、安全、监控、应用架构、存储、大数据、公私有云于一身的技术,通过系统状态监控、事件预警、业务调度、排障升级等手段,使服务处于长期稳定可用的状态。
运维岗位的分类
运维开发:运维平台的设计,开发和实施部署,如:资产管理系统、监控系统、自动发布平台、权限管理系统等等。
应用运维:主要负责线上服务的发布变更、服务健康状况监控、服务的容灾高可用、数据安全备份和做故障排查等工作。
系统运维:系统运维主要和系统及底层网络等打交道,如:硬件、IDC机房、网络拓扑、CDN加速和基础服务的建设等;对所有服务器的资产进行管理,服务器的调研选型、交付上架和后期维护等。
数据库运维:需要对库、表、索引和SQL等制定规范,对数据库进行变更、监控、备份、高可用设计等工作。
安全运维:进行常规的安全扫描、渗透测试、进行安全工具和系统研发以及安全事件应急处理。
桌 ...
Loki+Grafana+PrometheusAlert单进程部署实行日志收集到飞书的日志告警
环境介绍及组件版本
我这里是做实验,所有组件全部署在一台机器上(包括日志收集端),生产部署根据需求将各组件分别部署(promtail日志收集端是需要每个需要日志收集的服务器都部署的)。
组件信息
服务名称
版本
备注
Promtail
v2.7.0
服务端收集日志agent输出到loki存储,类似filebeat
Loki
v2.7.0
存储日志和查询日志
Grafana
v9.2.7
用于查询日志及配置日志告警规则,将告警发送至webhook
PrometheusAlert
v4.8.2
告警通知中心用于暴露webhook,将Grafana推送的告警信息模板格式化后发送至飞书
Loki介绍特点
围绕日志标签构建索引,而不是像es一样进行全文索引
多租户:通过tenant ID实现多租户,如果关闭多租户, 则默认唯一租户为fake
部署模式
单进程模式:所有的组件运行在一个进程中,适用于测试环境或者较小的生产环境
微服务可扩展模式:各组件单独运行,可水平伸缩扩展
组件
Distributor
负责处理客户端的日志写入,负责接收日志数据,然后将其拆分成 ...
Mysql添加操作审计日志功能的实现
背景鉴于目前MySQL审计需求不断深入扩张,以提高数据资产的安全,使得数据库愈来愈规范化管理,数据库实现审计功能成为必要安全环节。
众所周知,MySQL社区版是不带审计插件的(Audit Plugin),那么该如何实现审计功能呢?我们自然会想到使用binlog日志做审计,因为binlog日志本就记录着数据库上的所有改变。但是无奈,binlog日志并不会记录用户的登录信息,所以无法做到真正意义上的审计。
环境信息本文将介绍如下两种方式,实现使用审计功能。
Mysql版本:MySQL - 5.7.25(社区版)
工具
获取源包名
MariaDB审计插件
mariadb-10.2.43-linux-systemd-x86_64
McAfee审计插件
audit-plugin-mysql-5.7-1.1.11-985-linux-x86_64.zip
MariaDB审计插件MariaDB开发的MariaDB审计插件,虽然具有一些仅适用于MariaDB的独特功能,但它也可以与MySQL一起使用。MariaDB审计插件所生成的审计日志记录内容包括:用户名和主机、执行了哪些查询、 ...
Docker安装Headscale内网穿透服务
安装服务端创建headscale配置目录
12$ mkdir -p /etc/headscale/{data,certs}$ cd /etc/headscale
生成headscale配置文件
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576$ cat >config.yaml<<EOF---# 这个地址是告诉客户端需要访问的地址, 即使你需要在跑在# 负载均衡器之后这个地址也必须写成负载均衡器的访问地址server_url: http://35.241.79.221:8080# Headscale 实际监听ip和端口listen_addr: 0.0.0.0:8080# 监控数据地址metrics_listen_addr: 127.0.0.1:9090# grpc 监听地址grpc_listen_addr: 0. ...
ClickHouse双分片双副本集群安装/部署
环境介绍Clickhouse高可用集群采用ReplicatedMergeTree + Distributed方案,2分片2副本,共4个节点。
注意:本文档不展示zookeeper集群的安装过程,请自行查找zk集群安装文档。生产环境建议Zookeeper独立服务器部署,Clickhouse集群对Zookeeper依赖较高。
名称
版本
操作系统
Centos7.9
ClickHouse版本(RPM)
21.9.7.2
Zookeeper集群
3.4.5
Node01
192.168.99.28
Node02
192.168.99.29
Node03
192.168.99.30
Node04
192.168.99.21
操作系统准备工作
准备工作四台主机都需要操作。
我这里准备clickhouse单独数据盘挂载,如果数据不单独存储可以省略此步。
12345678910pvcreate /dev/sdbvgcreate data /dev/sdblvcreate --name data_01 -l 100%FREE datamkfs.ext4 ...
ClickHouse单机版安装/部署
环境介绍
名称
版本
操作系统
Centos7.9
ClickHouse版本
21.9.7.2
主机IP
192.168.1.100
操作系统准备工作准备clickhouse数据盘及挂载
12345678910pvcreate /dev/sdbvgcreate data /dev/sdblvcreate --name data_01 -l 100%FREE datamkfs.ext4 /dev/mapper/data-data_01mkdir -p /data/clickhousecat >> /etc/fstab<<EOF/dev/mapper/data-data_01 /data ext4 defaults,noatime 0EOFmount -a
修改系统文件安全上限配置及安装依赖
1234567$ vim /etc/security/limits.conf* soft nofile 65536* hard nofile 65536* soft nproc 131072* hard nproc 131072$ yum install ...
安装StrongSwan-VPN IKEv2协议账号密码认证
安装strongSwan安装strongswan,这里安装成功后是使用自签证书,客户端连接前需要导入自签的ca证书到设备中。
12yum -y install epel-releaseyum -y install strongswan openssl
生成strongswan的自签CA证书
12strongswan pki --gen --type rsa --size 4096 --outform pem > ca.key.pemstrongswan pki --self --in ca.key.pem --dn "C=CN, O=Linux strongSwan, CN=VPN CA" --ca --lifetime 3650 --type rsa --outform pem > ca.cert.pem
–self 表示自签证书
–in 是输入的私钥
–dn 是判别名
–ca 表示生成 CA 根证书
–lifetime 为有效期, 单位是天
C 表示国家名,同样还有 ST 州/省名,L 地区名,STREET(全大写) 街道名
O 组 ...
Docker安装Trojan-Go服务端
环境介绍
名称
版本
操作系统
Ubuntu 20.04
手动准备配置和证书准备trojan配置文件
1234567891011121314151617sudo mkdir -p /etc/trojan-gosudo vim /etc/trojan-go/config.json{ "run_type": "server", "local_addr": "0.0.0.0", "local_port": 443, "remote_addr": "127.0.0.1", "remote_port": 80, "password": [ "your_awesome_password" ], "ssl": { "cert": "/etc/tr ...
一张图掌握一个知识点|flex布局|盒子模型|Sass|css选择器|git使用|正则|http
Flex布局
css盒子模型
css-sass
css选择器
Git使用
正则
Mysql查看表或数据库磁盘空间占用大小
在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表。
切换数据库1use information_schema;
查看所有数据库容量大小12345678selecttable_schema as '数据库',sum(table_rows) as '记录数',sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'from information_schema.tablesgroup by t ...