tonglin0325的个人主页

Ubuntu下安装open-falcon-v0.2.1

在Ubuntu下安装open-falcon和Centos下安装的方法有点区别,因为Ubuntu使用的包管理器是apt-get,而Centos下使用的是Yum,建议不要再Ubuntu下使用yum

建议自己下载源码打包二进制包来安装,因为官方给出的二进制包应该是再centos下打包的,再Ubuntu下运行可能会出现问题

1.安装Go,首先去官网下载,需要fq

1
2
https://golang.org

顺便安装Goland,注册服务器 http://idea.youbbs.org

2.在/etc/profile中添加,后source /etc/profile

1
2
3
4
5
#Go
export GOROOT=/home/lintong/software/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPATH=/home/lintong/software/gopath

验证是否安装成功

1
2
3
go version
go version go1.10.2 linux/amd64

接下来参考

全文 >>

open-falcon监控Flume

1.首先你需要知道flume的http监控端口是否启动

请参考博文 Flume的监控参数

即在 http://localhost:3000/metrics 可以访问到如下内容

 

2.在open-falcon中安装flume监控插件,参考官方文档 http://book.open-falcon.org/zh_0_2/usage/flume.html

官方文档写的很不清楚,请参考本文接下来给出的步骤

首先修改agent的配置文件,agent负责的是采集数据,同时有调度脚本插件的功能

1
2
3
~/software/open-falcon-v0.2.1/agent/config
vim cfg.json

 修改如下,即写入了flume监控脚本的git地址,在此感谢插件作者在学习过程中的指导

全文 >>

Python学习笔记——发邮件

1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码

2.发送邮件的Python脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import smtplib
from email.header import Header
from email.mime.text import MIMEText

# 第三方 SMTP 服务
mail_host = "smtp.163.com" # SMTP服务器
mail_user = "XXX" # 用户名
mail_pass = "XXX" # 授权密码,非登录密码

sender = "XXX@163.com" # 发件人邮箱(最好写全, 不然会失败)
receivers = ["XXX@126.com"] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

content = '我用Python'
title = '人生苦短' # 邮件主题


def sendEmail():
message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title

try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)


def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content):
email_client = smtplib.SMTP(SMTP_host)
email_client.login(from_account, from_passwd)
# create msg
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8') # subject
msg['From'] = from_account
msg['To'] = to_account
email_client.sendmail(from_account, to_account, msg.as_string())

email_client.quit()


if __name__ == '__main__':
sendEmail()
# receiver = '***'
# send_email2(mail_host, mail_user, mail_pass, receiver, title, content)

参考:Python3实现163邮箱SMTP发送邮件

如果想美化邮件,可以在其中添加html样式,并将邮件的格式指定成html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Email Template</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 0;
}
.container {
max-width: 600px;
margin: 20px auto;
background-color: #ffffff;
border: 1px solid #ddd;
border-radius: 5px;
overflow: hidden;
}
.header {
background-color: #007bff;
color: #ffffff;
text-align: center;
padding: 20px;
}
.header h1 {
margin: 0;
font-size: 24px;
}
.content {
padding: 20px;
}
.content p {
margin: 10px 0;
line-height: 1.5;
color: #333;
}
.button {
display: block;
width: 200px;
margin: 20px auto;
text-align: center;
padding: 10px 15px;
background-color: #007bff;
color: #ffffff;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
}
.button:hover {
background-color: #0056b3;
}
.footer {
background-color: #f4f4f4;
text-align: center;
padding: 10px;
font-size: 12px;
color: #666;
border-top: 1px solid #ddd;
}
</style>
</head>
<body>

<!-- Header Section -->

<h1>Welcome to Our Service</h1>

<!-- Content Section -->

Dear [User],
Thank you for signing up for our service! We're excited to have you on board. Please click the button below to confirm your email address and get started:
[Confirm Email]([CONFIRMATION_LINK])
If you did not sign up for this account, you can safely ignore this email.

<!-- Footer Section -->

&copy; 2024 Your Company. All rights reserved.


</body>
</html>
"""

def sendEmail():
message = MIMEText(content, "html", _charset='utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender)
message['To'] = ",".join(receivers)
message['Subject'] = title
try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)

邮件样式如下

 

Flume的监控参数

参考 flume的http监控参数说明

 

普通的flume启动命令

1
2
bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console

日志信息在终端输出,只有去掉这个参数,日志才能在log4j和logback中输出

1
2
-Dflume.root.logger=INFO,console

如果要加上http监控的话

1
2
bin/flume-ng agent -c conf -f conf/flume-conf.properties -n agent -Dflume.root.logger=INFO,console -Dflume.monitoring.type=http -Dflume.monitoring.port=34545

 即加上参数,flume.monitoring.type=http 指定了Reporting的方式为http,flume.monitoring.port 指定了http服务的端口号

1
2
-Dflume.monitoring.type=http -Dflume.monitoring.port=34545

全文 >>

Ubuntu下安装Kafka Manager

参考 : kafka管理器kafka-manager部署安装

 

下载Kafka Manager,并进行打包,由于Kafka manager是由scala写的,所以需要由sbt的支持

1
2
3
4
git clone https://github.com/yahoo/kafka-manager
cd kafka-manager
./sbt clean dist

 关于sbt的的安装,请移步

1
2
http://www.cnblogs.com/tonglin0325/p/8884470.html

 配置zk的地址

1
2
在conf/application.conf中将kafka-manager.zkhosts的值设置为localhost

 打包完成后,对kafka-manager-1.3.3.17.zip包进行解压,位置在

1
2
kafka-manager/target/universal

全文 >>

kafka知识点

  1. 搭建kafka的时候需要根据数据流量预估kafka集群的规模,aws为其MSK服务(aws上的托管kafka)提供了一个excel表格,可以输入参数来评估集群需要的硬件参数
1
2
https://amazonmsk.s3.amazonaws.com/MSK_Sizing_Pricing.xlsx

 

Ubuntu下安装sbt

参考  ubuntu14 手动安装sbt

 

1、下载sbt通用平台压缩包:sbt-0.13.5.tgz

1
http://www.scala-sbt.org/download.html

 

 2、建立目录,解压文件到所建立目录

1
$ sudo tar zxvf sbt-0.13.5.tgz -C /opt/scala/

 

 3、建立启动sbt的脚本文件

1
2
3
4
5
6
7
8
9
10
11
/*选定一个位置,建立启动sbt的脚本文本文件,如/opt/scala/sbt/ 目录下面新建文件名为sbt的文本文件*/
$ cd /opt/scala/sbt/
$ vim sbt
/*在sbt文本文件中添加
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /opt/scala/sbt/bin/sbt-launch.jar "$@"
然后按esc键 输入 :wq 保存退出,注意红色字体中的路径是定位到解压的sbt文件包中的sbt-launch.jar文件的绝对路径*/

/&times;修改sbt文件权限&times;/
$ chmod u+x sbt

全文 >>

Ubuntu安装shadow$ocks-libev

参考 ubuntu16.04 配置shadowsocks及使用教程,支持chacha20-ietf-poly1305加密方式

安装shadow$ocks-libev

1
2
3
4
5
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:max-c-lv/shadowsocks-libev -y
sudo apt-get update
sudo apt install shadowsocks-libev

 配置文件

1
2
sudo vi /etc/shadowsocks-libev.json

内容

1
2
3
4
5
6
7
8
9
10
11
12
{
"server":"XXXX服务器地址",
"server_port":XXXX端口,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"XXXX密码",
"timeout":60,
"method":"chacha20-ietf-poly1305",
"fast_open":false,
"workers":1
}

 运行shadow$ocks

1
2
ss-local -c /etc/shadowsocks-libev.json &amp;

 

Centos下安装

参考

1
2
3
https://gist.github.com/aa65535/ea090063496b0d3a1748
https://roxhaiy.wordpress.com/2017/08/04/430/

全文 >>

ubuntu下GRUB使用

GRUB 是一个用于加载和管理系统启动的完整程序。它是Linux 发行版中最常见的 引导程序 bootloader 。引导程序是计算机启动时运行的第一个软件。

1.grub命令行模式

如果进入的grub命令行模式的话,则说明GNU grub找不到正确的引导文件,这时候可以通过命令手动来进行选择,如下

查看当前路径

1
2
grub> ls

输出如下

1
2
(proc) (hd0)、(hd0, msdos1) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) (hd2,gpt3) (hd2,gpt2) (hd2,gpt1) (hd3) (hd3,gpt1)

我这边机器挂了4块硬盘,所以就会有hd0,hd1,hd2,hd4

这时候就需要找到linux系统安装所在的分区,只能每个盘的每个分区一个个试过去,比如hd0只有1个分区,我们就可以使用如下命令查看1分区的文件目录

1
2
grub> ls (hd0,1) #再按tab键

全文 >>