Go 使用 gomail 发送邮件
我们使用 gomail 这个库来发送邮件
目前累计服务客户成百上千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站设计、网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。成都创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
使用 Goruntine 来并发发送邮件。
Golang的pprof的使用心得(CPU,Heap)
参照的是 这个文章
首先自己写一段demo
里面负责2件事
doSomeThingOne
genSomeBytes
运行这个程序go run main.go
To install thewrk,you need only:
git clone
cd wrk
make
wrk relies on the openssl and luajit, learn more from its github page
Generating requests
Our demo is listening on the port 9876 ,so let's generate some requests for that.
./wrk -c400 -t8 -d5m
-c400means we have 400 connections to keep open
-t8means we use 8 threads to build requests
-d5mmeans the duration of the test will last for 5 minutes
用这段命令来压服务器
Our server is very busy now and we can see some information via browser. Inputlocalhost:9876/debug/pprofyou will see:
然后用命令进入
在这里能看见各种方法的运行时间
所以我们安装Graphviz 在mac下
brew install graphviz
之后再这个(pprof)里面输入web
会生产一个svg文件
用浏览器打开我们就会看到
很显然gensomebytes里面的math方法最消耗时间。这个就是我们优化的对象
其实也很方便在
localhost:9876/debug/pprof/profile改成
localhost:9876/debug/pprof/heap
后面的结果一样。。和cpu一样可以看到那个heap占用了大量的内存到时候优化吧
这个文章里面的第一个方法就可以做测试内存占用的.
有空试试把
分布式程序 A B C D 4个进程在服务器. 监控程序E 打包程序F
写一个监控程序定时监控这4个进程的CPU 内存(搞成配置文件)
达到性能瓶颈(例如 90%CPU 内存剩下10%) E用shell触发打包程序F把pprof等信息打包.并发送邮件
给配置者.
Grafana的介绍与使用
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。
①可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。
②报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。
③通知:警报更改状态时,它会发出通知。接收电子邮件通知。
④动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。
⑤混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。
⑥注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。
⑦过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。
Dashboard的建立都是基于某一个数据源的,所以要先加一个数据源。
可视化方式有很多种,不过Graph、Table、Pie chart 这三种基本就已经满足数据展现要求了。
把这个Graph折线图Copy一份,改一下展现方式即可。
注意:默认添加完table后,如果有数字,会以K为单位,比如将300000展示位30k。
数字展示方式修改,Add column style:
当表格中出现数据后,需要通过筛选条件进行筛选,grafana提供了模板变量用于自定义筛选字段。
Type:定义变量类型
Query:这个变量类型允许您编写一个数据源查询,该查询通常返回一个 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查询。
interval:interval值。这个变量可以代表时间跨度。不要按时间或日期直方图间隔硬编码一个组,使用这种类型的变量。
Datasource:此类型允许您快速更改整个仪表板的数据源。如果在不同环境中有多个数据源实例,则非常有用。
Custom:使用逗号分隔列表手动定义变量选项。
Constant:定义一个隐藏常数。有用的metric路径前缀的dashboards,你想分享。在dashboard export,期间,常量变量将作为一个重要的选项。
Ad hoc filters:非常特殊类型的变量,只对某些数据源,InfluxDB及Elasticsearch目前。它允许您添加将自动添加到使用指定数据源的所有metric查询的key/value 过滤器。
上面的Table和Graph分别使用了interval和query来定义变量进行筛选,不再重复。
grafana只有graph支持告警通知。
grafana的告警通知渠道有很多种,像Email、Teams、钉钉等都有支持。
在grafana.ini中开启告警:
要能发送邮件通知,首先需要在配置文件grafana.ini中配置邮件服务器等信息:
Grafana是个功能强大、展现层很漂亮的数据可视化监控工具,本篇主要介绍了Grafana基于MySQL数据源的安装及常用姿势,也支持其他数据源如ElasticSearch、InfluxDB等。更多内容可看 官网
go语言怎么发有附件的邮件?
看了下smtp的包,应该是不能发带附件的,话说你收到过人家通过代码发送的邮件有带附件的么
网页题目:使用go语言发送邮件,使用go语言发送邮件怎么发
文章起源:http://scgulin.cn/article/hsposc.html