最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。
本篇博客介绍SpringCloud相关组件——nacos和sentinel的安装和配置,并分析了运行内存情况,此外,还有服务器被非法登陆尝试的解决。
其他相关的华为云云耀云服务器L实例评测文章列表如下:
初始化配置SSH连接 & 安装MySQL的docker镜像 & 安装redis以及主从搭建 & 7.2版本redis.conf配置文件
安装Java8环境 & 配置环境变量 & spring项目部署 &【!】存在问题未解决
部署spring项目端口开放问题的解决 & 服务器项目环境搭建MySQL,Redis,Minio…指南
由于自己原因导致MySQL数据库被攻击 & MySQL的binlog日志文件的理解
认识redis未授权访问漏洞 & 漏洞的部分复现 & 设置连接密码 & redis其他命令学习
redis漏洞回顾 & MySQL数据安全解决 搭建主从集群MySQL & 相关设置
在Redis的Docker容器中安装BloomFilter & 在Spring中使用Redis插件版的布隆过滤器
canal | 拉取创建canal镜像配置相关参数 & 搭建canal连接MySQL数据库 & spring项目应用canal初步
canal | 基于canal缓存自动更新流程 & SpringBoot项目应用案例和源码
Elasticsearch的Docker版本的安装和参数设置 & 端口开放和浏览器访问
Elasticsearch的可视化Kibana工具安装 & IK分词器的安装和使用
Elasticsearch的springboot整合 & Kibana进行全查询和模糊查询
1.SpringCloud相关组件——nacos和sentinel的安装和配置;
2.运行内存情况;
3.服务器被非法登陆尝试的解决;
https://nacos.io/zh-cn/docs/quick-start.html
Nacos(全称为"Naming and Configuration Service")是一个开源的动态服务发现、配置管理和服务管理平台。它由阿里巴巴集团开发并开源,旨在帮助开发者更好地构建和管理微服务架构。
Nacos提供了以下主要功能:
Nacos提供了丰富的API和控制台界面,使得开发者可以方便地进行服务注册、配置管理和服务发现等操作。它与Spring Cloud、Dubbo等主流的微服务框架集成良好,可以作为微服务架构中的核心组件之一。
Nacos是 Dynamic Naming and Configuration Service首字母简写。一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理
下载nacos
访问网址: https://github.com/alibaba/nacos/releases?page=2
上传压缩包到云服务器,解压
下载配置文件,数据放到MySQL中
运行sql文件,nacos相关的表格
修改配置文件,配置MySQL的相关数据,application.properties文件。
连接sql数据库的信息
启动方式,设置成单体模式
修改启动模式,mode
启动nacos,此时就不需要加命令单例启动了,直接启动即可
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
云服务器控制台开放端口
输入设置好的用户名和密码,进行登陆
登陆成功
关闭nacos的命令
sh shutdown.sh
https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。
资源
资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。
只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。
规则
围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。
https://github.com/alibaba/Sentinel/releases
创建文件夹,上传sentinel到云服务器
从 1.6.0 起,sentinel-dashboard 引入基本的登录功能,默认用户名和密码都是 sentinel 。当然也可以通过 JVM 参数的方式进行修改
-Dsentinel.dashboard.auth.username=sentinel
用于指定控制台的登录用户名为 sentinel ;
-Dsentinel.dashboard.auth.password=123456
用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel;
-Dserver.servlet.session.timeout=7200
用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;
-Dserver.port=8840
用于指定 Sentinel 控制台端口为 8840。默认是 8080 。
-Dproject.name=sentinel-dashboard
指定 Sentinel 控制台程序的名称。
如果你有多张网卡的话,你还需要指定使用哪张网卡(IP)来接受各个微服务上报的信息:
运行命令
java -Dserver.port=7777 \
-Dcsp.sentinel.dashboard.server=192.168.111.130:7777 \
-Dproject.name=sentinel-dashboard \
-Dsentinel.dashboard.auth.username=sentinel \
-Dsentinel.dashboard.auth.password=123456 \
-jar sentinel-dashboard-1.8.6.jar
服务器控制台开放端口
输入设置好的用户名和密码进行登陆
登陆成功
关闭sentinel,两种方式
(1)直接在运行页面输入,Ctrl + c;
(2)kill进程,查询进程,kill掉
ps -ef | grep sentinel
kill -9 19215
在运行了mysql容器,以及redis容器后,内存占用了45%
同时启动nacos,sentinel,mysql,redis后,内存吃紧
There were 18 failed login attempts since the last successful login.
又来了
查看尝试非法登陆的ip
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr
禁止这些非法ip进行ssh登陆
cat /var/log/secure | grep "Failed password for invalid user" | awk '{print $13}' | sort | uniq -c | sort -n | tail -10 |awk '{print "sshd:"$2":deny"}' >> /etc/hosts.allow
cat /etc/hosts.allow
参考博客:
https://blog.csdn.net/qq_38617531/article/details/125875195
1.SpringCloud相关组件——nacos和sentinel的安装和配置;
2.运行内存情况;
3.服务器被非法登陆尝试的解决;