Java HeartBeat 3.0.0 发布,心跳检测应用服务器(支持协议HTTP/UDP/TCP)微服务应用程序

Java HeartBeat 3.0.0 版本已经发布,带来Socket监控支持(TCP/UDP)。

3.0.0 版本主要更新如下:

  1. 添加Socket (TCP,UDP)的监控
  2. 升级JDK, SpringBoot等基础版本, log升级使用logback框架, thymeleaf替换jsp
  3. 各实例提供分组与查询
  4. 邮件配置界面化,更灵活(不在配置文件中写固定)
  5. 提醒方式增加钉钉机器人(相比邮件即时性更好)
  6. 优化界面部分UI,更直观简洁

HeartBeat 3.0.0 版本访问地址:https://gitee.com/mkk/HeartBeat/tree/3.0.0/

docker版jenkins安装与使用总结

一名话总结:不好使用,坑点比较多。

首先说明下使用的镜像是从jenkins官方中文网站(https://www.jenkins.io/zh/doc/book/installing/#prerequisites)上引导的docker镜像:jenkinsci/blueocean(https://hub.docker.com/r/jenkinsci/blueocean/)。

(常用的还有另一个镜像 https://hub.docker.com/r/jenkins/jenkins/ 可选择)。

好处:安装下载很方便,几个docker命令就能运行起来(相比传统的下载jenkins.war,再弄个tomcat就能跑起来会便捷些)。

比较坑的点总结:

  1. 安装时选择推荐的插件进行安装,最常见的git插件会安装失败,并且尝试了多次,用多种方法(在线安装并重启,离线安装并重启)才把这插件安装成功。
  2. 使用默认的官方的JDK Linux安装包(如 jdk-8u202-linux-x64.tar.gz),配置后在构建时无法使用(使用挂载目录的也不行),报No such file or directory,追究根源竟然是docker镜像使用一个很基础的Linux版本,官方提供的java命令依赖的.so文件在此版本上不支持(只有使用镜像中jenkins自带的openJDK,版本为11,不满足工程编译需求),坑爹,花了不少时间。
  3. 镜像中默认的用户名是jenkins,用户目录为/var/jenkins_home/,与一般大家熟悉的/home/{username}/不一致,导致一些用户生成的敏感文件(如ssh key)在使用与读取文件时要留意特别容易犯错;另外默认的jenkins用户没有root类似权限,很多目录无法访问。

经过近半天的折磨,最后终于放弃这种方式的jenkins,回归传统:下载jenkins.war,并用tomcat启动使用,顺畅愉悦可控了许多。

参考文章:

  • https://www.cnblogs.com/andy0816/p/15549405.html
  • https://blog.csdn.net/qq_38983728/article/details/85223685

acme.sh申请Let’s Encrypt免费SSL证书注意

Let’s Encrypt免费SSL证书有效期3个月(本博客使用的SSL证书就是使用acme.sh实现的免费SSL证书)。

由于DNS解析使用了 dnspod,在签发时按正常流程会报以下异常

4FDDB5E8-035A-4894-A1D6-0D031910D2C7

参考文章 https://bugxia.com/33.html 中提到的注意点,需要先从dnspod获取API Token的 id与key。然后按以下步骤操作

export DP_Id=“xxx”
export DP_Key=“xxx”

./acme.sh –issue -d andaily.com -d *.andaily.com –dns dns_dp

结果可以成功,且此方法还省去了手动添加 TXT记录在DNS上的步骤。

成功的输出如下图所求:

截屏2020-09-20 下午2.34.50

结束。

 

 

我与Git@OSC的四年多时光

    "followers": 119,
    "following": 4,
    "stared": 23,
    "watched": 64,
    "created_at": "2013-06-17T00:37:29+08:00",

一看日期 2013-06-17, Git@OSC新开放的API, 竟然有如此的功能, 可喜.

时间已经过去4年多,记得查看Git@OSC 开始运作日期是 2013-05-27, 注册早,算是最老一批用户了吧.

感谢这个可以创建私有库与公有库的GIT家伙. 让我们不再为找一个可托管的代码库而伤神, 特别是单个独立的开发者, 不管是开源的,还是闭源的项目.

无论是从哪有时一上午都不能PUSH代码,还是上了高防DDOS后经常响应403的状态码,不能愉快的PUSH;都已成往事; 好几次提醒Git@OSC 该收费了啊,后来收费了(企业版本),很好,心里踏实了,公司也更放心.

……

仅此, 感谢Git@OSC后台团队的辛苦劳作,幕后!!

你值得拥有Git@OSC,不管你是用来存代码, 放文件, 还是当作网络硬盘,备份库,皆爽..

http://git.oschina.net/

 

scp 无密码传输文件

scp 实现两台Linux Server之间传输文件, 但每次都需要密码–麻烦

不需要密码是可以的(特别是在使用shell文件传输文件时非常有用)

 
假设有两台机器A, B , 需要将A上的文件使用scp 复制 到 B机器上

1.先在A机器上运行命令
ssh-keygen -t rsa
一直按回车键直到结束

成功后会在用户目录生成 .ssh 目录
cd ~/.ssh

2.查看 id_rsa.pub 文件并复制所有内容

cat id_rsa.pub

3. 进入B机器并进入 ~/.ssh 目录 (若没有则创建)

cd ~/.ssh

新建文件 authorized_keys 文件 并将复制的内容添加进去
并保存

若authorized_keys文件已经存在则内容追加到文件中
或使用cat >> 命令追加, 具体如下

1).新建一个临时文件如 aaa.pub, 将复制的内容放到该文件中并保存

2). 执行 cat 命令
cat aaa.pub >> authorized_keys
即可.

完成后使用命令 cat authorized_keys 查看追加的内容

以上操作完成, 使用scp命令从A向B机器复制内容时可不需要B机器密码

crontab 在 Centos, Ubuntu中的使用

关于crontab, 定时任务的使用网络上有很多资料, 此处仅总结自己使用经过, 方便以后查阅

适用于 centos, ubuntu
>查看crond 状态
service crond status

(保证状态是 running, 若不是或需要安装请参考文章 http://www.2cto.com/os/201110/109125.html )

> 添加定时任务
1.确定执行的 时间表达式, 如:
0 2 * * * — 每天凌晨2点执行
*/5 * * * * — 每隔5分钟执行一点

与执行的脚本 shell 文件,.

确定后使用命令
crontab -e

添加定时任务(每一行是一条定时任务), 如
*/5 * * * * cmd
0 2 * * * /root/backup/backup-db.sh

完成后保存

使用命令 crontab -l 查看当前用户的定时任务

/var/log/cron日志文件记录每个定时任务的执行情况, 需要时可查看

注意:如果是Ubuntu系统,在添加定时任务后需要重启cron.命令:
/etc/init.d/cron restart

更多操作请参考 http://linux.it.net.cn/CentOS/fast/2014/0820/3767.html

Ubuntu使用crontab时参考
http://xingyunbaijunwei.blog.163.com/blog/static/76538067201341294014683/
http://blog.csdn.net/mydeman/article/details/3727060