CentOS-7 スタンドアロン展開の Open-Falcon アワ オープン ソース モニタリング システム

Open-Falcon の概要:

  • OpenFalcon は、エンタープライズレベルの可用性が高く、スケーラブルなオープンソース監視ソリューションです。
  • 現在: github 上で数千のスターと数千のフォークが達成されています。
  • 公式紹介: https: //book.open-falcon.org/zh_0_2/intro/

オープンファルコンの特徴:

  • 強力かつ柔軟なデータ収集: 自動検出、falcon-agent、snmp のサポート、ユーザー アクティブ プッシュ、ユーザー定義のプラグイン サポート、opentsdb データ モデル (タイムスタンプ、エンドポイント、メトリック、キー値タグ) など。
  • 水平拡張機能: 各サイクルで数億のデータ収集、アラーム判定、履歴データの保存、クエリをサポートします。
  • 効率的なアラーム ポリシー管理: 効率的なポータル、ポリシー テンプレートのサポート、テンプレートの継承と適用範囲、複数のアラーム メソッド、コールバック コールのサポート。
  • 人間化されたアラーム設定: アラームの最大数、アラーム レベル、アラーム回復通知、アラームの一時停止、さまざまな期間のさまざまなしきい値、およびメンテナンス サイクルのサポート。
  • 高効率のグラフ コンポーネント: 1 台のマシンで 200 万のメトリクスのレポート作成、アーカイブ、保存をサポートします (期間は 1 分)。
  • 効率的な履歴データ クエリ コンポーネント: rrdtool のデータ アーカイブ戦略を採用し、1 年間の数百のメトリクスの履歴データを秒単位で返します。
  • ダッシュボード: 多次元データ表示、ユーザー定義画面。
  • 高可用性: システム全体にはコアとなる単一ポイントがなく、操作と保守が容易で、展開が容易で、水平方向に拡張できます。
  • 開発言語: システム全体のバックエンドは golang で書かれ、ポータルとダッシュボードは Python で書かれています。

オープンファルコンアーキテクチャ:

環境の準備:

1): Yum ソースを置き換えます (Ali ソースを使用):

# 备份CentOS-7默认yum源文件
cd /etc/yum.repos.d/ && mkdir bak && mv *.repo bak
# 下载阿里云Base源文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除缓存并重新生产缓存
yum clean all
yum makecache
# 加载阿里云epel仓库
yum install epel-release

2): Redis を yum モードでデプロイします。

# yum安装redis
yum install redis -y
# 启动Redis服务
systemctl start redis
# 查看Redis服务运行状态
systemctl status redis

3): Mysql 5.7 をデプロイします:

# 创建software目录并切换
mkdir -p /opt/software && cd /opt/software
# 下载mysql-RPM包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# yum localinstall安装mysql-RPM包,相比rpm -ivh方式,此方式会自动解决安装依赖
yum localinstall mysql57-community-release-el7-8.noarch.rpm -y
yum repolist enabled | grep "mysql.*-community.*"
# yum安装mysql
yum install mysql-community-server -y
# 启动Mysql服务
systemctl start mysqld
# 查看Mysql服务运行状态
systemctl status mysqld

# 获取Mysql初始生成的密码
grep 'temporary password' /var/log/mysqld.log
# 修改root密码
mysql -uroot -p'pk+wyYkD>5ah'
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1qaz@WSX';
mysql> exit

ここに画像の説明を挿入

4): MySQL テーブル構造を初期化します。

# 安装git命令
yum install -y git
# 拉取Sql脚本文件
git clone https://github.com/open-falcon/falcon-plus.git
# 切换目录
cd /opt/software/falcon-plus/scripts/mysql/db_schema/
# 依次执行初始化脚本
# 使用-p明文密码会提示不安全,实际生产中切忌使用明文密码
mysql -h 127.0.0.1 -u root -p'1qaz@WSX' < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p'1qaz@WSX' < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p'1qaz@WSX' < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p'1qaz@WSX' < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p'1qaz@WSX' < 5_alarms-db-schema.sql

ここに画像の説明を挿入

Open-Falcon バックエンド サービスをデプロイする

  • バックエンドの展開には 2 つの方法があります。
    • 最初の方法: ソース コードからコンパイルしてインストールする
    • 2 番目: コンパイルされたバイナリ バージョンを使用する

1): バイナリ パッケージをダウンロードして解凍します。

# 切换目录,下载二进制包
cd /opt/software/ && wget https://github.com/open-falcon/falcon-plus/releases/download/v0.3/open-falcon-v0.3.tar.gz
# 创建工作目录,解压二进制包
mkdir -p /opt/open-falcon && tar -zxvf open-falcon-v0.3.tar.gz -C /opt/open-falcon/

2): 構成ファイルを変更します。

# 切换至工作目录,修改配置文件中Mysql用户名和密码;
cd /opt/open-falcon/ && grep -Ilr 3306  ./ | xargs -n1 -- sed -i 's/root:/root:1qaz@WSX/g'

3): バックエンド サービスを開始します。

# 启动后端所有服务
./open-falcon start
# 检查所有模块的启动状况:"UP"正常,"Down"异常
./open-falcon check
  • 3.1.1): コマンドライン ツールの使用方法の詳細:
# 所有可选参数,"module"为模块名称
./open-falcon [start|stop|restart|check|monitor|reload] module

# 日志查看与调试分析,日志路径如下
$WorkDir/$moduleName/log/logs/xxx.log

Open-Falcon フロントエンド サービスをデプロイする

1): フロントエンドコンポーネントコードをプルします。

# 目录切换,拉取前端组件代码
cd /opt/open-falcon/ && git clone https://github.com/open-falcon/dashboard.git

2): 依存パッケージをインストールする

yum install -y python-virtualenv python-devel openldap-devel mysql-devel
yum groupinstall "Development tools" -y

cd /opt/open-falcon/dashboard/
virtualenv ./env

./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple

3): ダッシュボード構成を変更する

  • ダッシュボードの構成ファイルは「rrd/config.py」です。
# 修改数据库的用户名和密码
sed -i 's/"PORTAL_DB_USER","falcon"/"PORTAL_DB_USER","root"/g' ./rrd/config.py
sed -i 's/"PORTAL_DB_PASS","falcon"/"PORTAL_DB_PASS","1qaz@WSX"/g' ./rrd/config.py
sed -i 's/"ALARM_DB_PASS",""/"ALARM_DB_PASS","1qaz@WSX"/g' ./rrd/config.py

#修改Falcon+ API的地址端口信息
sed -i 's/127.0.0.1:18080/127.0.0.1:8080/g' ./rrd/config.py

4): フロントエンド サービスを開始します。

# 切换至Dashboard工作目录,并启动服务
cd /opt/open-falcon/dashboard/ && bash control start
# 查看日志
bash control tail
# 停止Dashboard服务
bash control stop
  • 4.1.1): ダッシュボードのユーザー管理:
  • Dashbord はデフォルトでは管理アカウントを含むアカウントを作成しません。ページからアカウントを登録する必要があります。

  • グローバル管理用のスーパー管理者アカウントが必要な場合は、ユーザー名 root のアカウントを手動で登録する必要があります (アカウント名が root である最初のユーザーが自動的にスーパー管理者として設定されます)。

  • スーパー管理者は、一般ユーザーに権限管理を割り当てることができます。

  • ヒント: 登録されたアカウントはダッシュボードページを開いた人なら誰でも登録できるため、該当する人のアカウントを登録した後、アカウントの登録機能を閉じる必要があります。

    • API コンポーネントの構成ファイル cfg.json を変更し、signup_disable 構成項目を true に変更して、API を再起動するだけです。誰かのアカウントを開く必要がある場合は、設定オプションを元に戻し、使用後に閉じることができます。ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/wkl1007/article/details/113374903
おすすめ