Browsed by
日期:2020年3月10日

基于k8s Prometheus+Grafana+Altermanager钉钉报警

基于k8s Prometheus+Grafana+Altermanager钉钉报警

閱讀本文約花費: 6 (分鐘) 一、概述 Alertmanager与Prometheus是相互分离的两个组件。Prometheus服务器根据报警规则将警报发送给Alertmanager,然后Alertmanager将silencing、inhibition、aggregation等消息通过电子邮件、dingtalk和HipChat发送通知。 Alertmanager处理由例如Prometheus服务器等客户端发来的警报。它负责删除重复数据、分组,并将警报通过路由发送到正确的接收器,比如电子邮件、Slack、dingtalk等。Alertmanager还支持groups,silencing和警报抑制的机制。 钉钉作为内部通讯工具,基本上大家在电脑和手机上都能用,消息可以第一时间查看,报警消息的即时性要求比较高,所以适合用钉钉通知。 二、添加钉钉机器人 请参考官方文档:自定义机器人 添加机器人后获取机器人的hook(机器人好像只能在钉钉群里面添加),在后面部署会用到。 机器人hook:https://oapi.dingtalk.com/robot/send?access_token=xxxxxx 三、配置Alertmanager Alertmanager官方文档:https://github.com/prometheus/docs/blob/db2a09a8a7e193d6e474f3…

Read More Read More

我的外包经验:印度、中国和菲律宾(译文)

我的外包经验:印度、中国和菲律宾(译文)

閱讀本文約花費: 18 (分鐘) 外包在软件业很常见,各种规模的公司都在用,每年要吸纳大量就业。 但是,外包的曝光量很少,大家似乎都不太关心,很少有人谈论。这导致许多人不了解外包到底是怎么回事。 本周,我读到 Troy Hunt 在2016年的一篇旧文,介绍他的外包经验。我觉得,读起来很新鲜,有启发。下面就是节选的译文,插图是我配的。 我的外包经验:印度、中国和菲律宾 作者:Troy Hunt 原文网址:troyhunt.com 1、 我有很多与亚洲外包供应商合作的经历。这篇文章我想来谈谈,多年来将软件项目外包到印度,中国和菲律宾的经验。 我以前的工作是辉瑞公司的软件架构师,一共干了14年,曾经负责过亚太地区的软件架构。 2、 辉瑞公司的软件开发策略很简单,就是将所有事情外包。 这是行业的标准做法,我因此跟亚太地区数十个软件供应商合作过,参与了各种各样的项目,范围很广,从简单的产品宣传网站到大型临床研究系统,从移动应用 App 到 POS 机的终端程序。 我对印度、中国和菲律宾的软件外包行业,接触得比较多,感触尤其深,我想讨论对它们的观察。 3、 辉瑞公司为什么要外包? 原因很简单,因为程序员很贵。你必须花很多钱,雇佣很多人来构建软件产品,无论他们是否在工作,你都需要支付薪水。而且你雇来的程序员不一定懂每个项目所需的特定技能,这意味着你还要雇佣更多的人。 外包就相当于”…

Read More Read More

Java中如何锁文件

Java中如何锁文件

閱讀本文約花費: 8 (分鐘) 1. 概览 当读写文件时,需要确保有适当的文件锁定机制,来保证基于并发I/O应用程序的数据完整性。 「本教程中, 我们将介绍使用 Java NIO 库实现这一点的各种方法。」 2. 文件锁简介 「一般来说,有两种锁」: 独占锁——也称为写锁共享锁——也称为读锁 简单地说,在写操作完成时,独占锁防止所有其他操作(包括读操作)。 相反,共享锁允许多个进程同时读取。读锁的目的是防止另一个进程获取写锁。通常,处于一致状态的文件确实应该被任何进程读取。 在下一节中,我们将看到Java如何处理这些类型的锁。 3. Java中的文件锁 Java NIO库支持在操作系统级别锁定文件。FileChannel 中的lock() 和*tryLock()*方法就是为了这个而存在。 我们可以通过 FileInputStream, FileOutputStream,RandomAccessFile 来获取FileChannel,三者均可通过 getChannel() 方法返回 FileChannel对象. 或者, 我们可以直接通过静态方法 open 来创建 FileChannel  : try (FileChannel channel = FileC…

Read More Read More