#武汉头条# #IT#
自行搭建prometheus+grafana监控平台,
以监控window服务器为例,
基于window docker搭建,两台window电脑为例,
ip分别为:
10.1.168.73
10.1.168.135
1. 拉取prometheus镜像,配置prometheus.yml配置文件
2. 拉取grafana镜像,默认配置
3. 两台电脑均需要安装window_exporter,目的是将window监控数据倒入到prometheus中
最终grafanan监控面板如下图所示。
Spring Boot搭建 ELK,这才是正确看日志的方式。有钱配置日志服务器的钱,还不如多买点应用。实际业务都没日志负载大。Spring Boot搭建 ELK,这才是正确看日志的方式。好用是好用,就是ES太耗资源了,还是Loki比较轻量级。springboot可以加上apm agent,可以看到更多程序细节而不仅仅是日志。可以是filebeat+Kafka+logstash+elasticsearch+kibana。一般不要直接怼上logstash,中间通过kafka或者rabbitmq缓冲,提供可靠性和并发。
牛,太好了,微服务之配置管理中心Apollo, 解决了众多应用服务器配置的烦恼
在微服务项目中,超过10台或如有100台服务器,对各服务器配置文件管理起来就非常麻烦,如何管理这些服务器上的配置文件呢?若要一台台服务器一个个文件的修改配置,那工作量太大了还容易出错。
有没有一个可以集中管理,可视化管理的工具呢?
有,Apollo出现了,下面我们来聊聊什么是Apollo:
Apollo 是携程框架部门研发的开源配置管理中心,能集中管理应用不同环境,可视化界面,可以发布,回顾,使用简单方便。
功能介绍:
1.参数配置,服务器地址需要配置;
2. 配置发布后即时生效,回滚即时生效;
3.历史发布查询,灰度发布,分环境,分集群管理配置
4. 完善的权限,审核机制。
apollo支持4个维度管理key-value格式的配置:
1.不同应用服务
2.不同环境(开发,测试环境)
3.不同集群
4.不同命名空间
apollo安装部署(配置--使用--对接--扩展):
一. 配置中心安装配置;prot: ip:8070
二. 客户端对接:
1.nuget
2.配置apollo地址appsettings.json
3.初始化configuration
4.程序读取;server:ip:8080
5.读取优先级:apollo发布配置值 > 配置文件配置的值 > 本地缓存的值
6.修改,新增,触发事件
7.apollo的provider读取key是字符串
#微服务##后端##配置##apollo#
Kafka生产环境,推荐的生产服务器配置说明
zookeeper.connect:配置多个ZooKeeper节点地址。
log.dir:配置到单独的硬盘上,不要和Kafka安装目录放在一起,最好使用SSD硬盘。
listeners:用来定义Kafka Broker的Listener的配置项
queued.max.requests:等待IO线程处理的请求队列最大数,若是等待IO的请求超过这个数值,那么会停止接受外部消息,应该是一种自我保护机制。
# ZooKeeper
zookeeper.connect=ZooKeeper服务器地址
# Log configuration
num.partitions=8
default.replication.factor=3
log.dir=配置到单独的硬盘上,不要和Kafka安装目录放在一起,最好使用SSD硬盘
# Other configurations
broker.id=设置一个唯一数字
listeners=定义Kafka Broker的Listener
auto.create.topics.enable=false
min.insync.replicas=2
queued.max.requests=500
做压测买计时收费的阿里云服务器,要多大配置选多大配置,压测完就是放,还可以把服务器打个镜像放着,后面需要继续用。另外还可以用自带的监控工具看服务器资源情况,一次压测一天可能就小几十块钱,还是很香的
Linux服务器配置ulimit的常用参数介绍
Ulimit常用参数介绍:
-a:显示目前资源限制的设定;
-c <core文件上限>:设定core文件的最大值,单位为区块;
-d <数据节区大小>:程序数据节区的最大值,单位为KB;
-f <文件大小>:shell所能建立的最大文件,单位为区块;
-H:设定资源的硬性限制,也就是管理员所设下的限制;
-m <内存大小>:指定可使用内存的上限,单位为KB;
-n <文件数目>:指定同一时间最多可开启的文件数;
-p <缓冲区大小>:指定管道缓冲区的大小,单位512字节;
-s <堆叠大小>:指定堆叠的上限,单位为KB;
-S:设定资源的弹性限制;
-t <CPU时间>:指定CPU使用时间的上限,单位为秒;
-u <程序数目>:用户最多可开启的程序数目;
-v <虚拟内存大小>:指定可使用的虚拟内存上限,单位为KB。
最大进程数和最大打开文件数的硬限制和软限制从默认 1024 修改为 4096,更具体的内容可以参考这个文档:
修改步骤:
第一步:配置/etc/security/limits.conf
vim /etc/security/limits.conf
文件尾追加 :
hard noproc 4096
soft noproc 4096
hard nofile 4096
soft nofile 4096
第二步:配置/etc/pam.d/su:
vim /etc/pam.d/su
将 pam_limits.so 这一行注释去掉(默认已注释)。
最底部加上以下几行:
session required pam_limits.so
第三步:配置/etc/profile
最底部加上以下一行:
ulimit -SHn 4096
然后重启服务器使参数生效
说明:需要理解第一步中的4个参数说明,特别是数值,并不是越大越好(最高可设置为65535),需要结合优化场景适当设置,否则可能适得其反。