使用saltstack自定义模块获取服务器的信息

1、查看MASTER的BASE路径,在对应的路径建立_modules文件夹,存放.py的模块 [root@v72 _modules]# cat /etc/salt/master | grep file_roots -A 5 file_roots:base:– /srv/salt 建立目录: mkdir -p /srv/salt/_modules 2、在/srv/salt/_modules目录下编写python代码 [root@v72 _modules]# pwd/srv/salt/_modules[root@v72 _modules]# cat infos.py !/usr/bin/env python encoding: utf-8 from subprocess import Popen, PIPEimport os,sysimport timedef getipaddr():p = Popen([‘hostname’,’-I’], stdout = PIPE)ip=p.stdout.read()return ip def gethostname():p = Popen([‘hostname’], stdout = PIPE)hostname=p.stdout.read()return hostname def getdiskinfo():p = Popen([‘df’,’-h’], stdout = …

HAproxy Web 负载均衡解决方案

HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。 下图是HAProxy的架构: 下图是HAProxy的监控页面截图: HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

使用Mirroring同步主从Gitlab数据

使用Mirroring同步主从Gitlab数据 日常代码数据维护在主gitlabA主机上,为了应用和数据的冗余,新部署一台gitlab,要实现两台gitlab数据实时同步复制,利用Mirroring repositories就可以实现该功能。 登录gitlabA后台,进入对应的项目,然后点击Setting->Repository->Mirroring repositories Mirroring repositories 界面 Git repository URL:gitlab仓库url地址,这里要填写GitlabB的对应的代码url地址 Mirror direction:镜像同步方式(ce版本发现只有push) Authentication method:身份验证支持密码和秘钥 Password:密码 添加后生成地址,可以点击立即同步 登录gitlabB查看代码已经同步成功。 主要事项: 同步账号最好设置为管理员权限; 同步的代码组需要手动创建;

sonarqube排除路径不生效

首先要设置 语言:sonar.language=java /**** 然后要设置 扫描源文件和编译文件 sonar.sources=./ sonar.java.binaries=./ 在设置 排除文件: sonar.exclusions=./ 具体的匹配规则可以参考sonar的官方文档,非常简单 (docs.sonarqube.org )。注意使用maven项目时匹配的文件夹基础是project base dir。 Wildcard Matches ? 匹配单个字符 ** 匹配0个或多个文件夹 * 匹配0个或多个字符 例子: 排除以bean.java和dto.java为结尾的所有java文件> sonar.exclusions=/*Bean.java,/*DTO.java 排除文件夹 “src/main/java/org/sonar” 中所有的java文件,不包括子文件夹 sonar.exclusions=src/main/java/org/sonar/* 表达式: 正确的写法: sonar.exclusions=**/*R*.java,**/*Test.java 有时如果不设置 sonar.sources=./ sonar.java.binaries=./ 那么sonar.exclusions=./ 会没有效果 ———————————————— 版权声明:本文为CSDN博主「lxlmycsdnfree」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/lxlmycsdnfree/article/details/80185680

jenkins:集成sonar代码扫描+发送邮件

前提: Jenkins JDK 目录: 1、安装sonar插件:SonarQube Scanner for Jenkins 2、安装SonarQube 3、安装sonar-scanner +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1.安装sonar插件:SonarQube Scanner for Jenkins 2、安装SonarQube,并配置mysql数据库 2.1 下载 下载地址:https://www.sonarqube.org/downloads/   2.2 解压 下载后放在/usr/local目录下,并解压 unzip sonarqube–7.4.zip  2.3 配置环境变量 vi /etc/profile 里面写如下 #set sonarqube export SONAR_HOME=/usr/local/sonarqube–7.4 PATH=$PATH:$SONAR_HOME/bin 使配置生效 source /etc/profile  2.4 启动并测试 进入到启动目录 /usr/local/sonarqube–7.4/bin/linux–x86–64 执行启动命令 ./sonar.sh start 启动时要查看es.log和sonar.log日志,还有web.log,关于数据库配置的错误会在此处显示 tail –f /usr/local/sonarqube–6.7.6/logs/es.log tail –f /usr/local/sonarqube–6.7.6/logs/sonar.log tail –f /usr/local/sonarqube–6.7./logs/web.log 用root启动会报错,请参考我的另一篇文章:https://www.cnblogs.com/gcgc/p/10239590.html …

Please provide compiled classes of your project with sonar.java.binaries property

解决办法: mvn命令添加sonar.java.binaries参数: mvn sonar:sonar \ -Dsonar.projectKey=fastjson \ -Dsonar.host.url=http://127.0.0.1:9000 \ -Dsonar.login=637e914c5ycyzharry6b690e765cffa7841f4aae \ -Dsonar.java.binaries=target/classes 若target目录下没有生成classes目录,可以先build下项目,也可以直接写如下路径: mvn sonar:sonar -Dsonar.java.binaries=target/sonar