From 6fc4a06b3bf1ee956e490ed07c5b0e832d3de0e8 Mon Sep 17 00:00:00 2001 From: import this <97586125+serinko@users.noreply.github.com> Date: Thu, 28 Mar 2024 09:33:06 +0000 Subject: [PATCH] [DOC]: Serinko/operators/fast-and-furious (#4466) * initialise performance testing pages * draft perfomance testing flow * initialise metric template page * add guides TOC * spell check * edit metrics monitoring page * syntax edit * draft initial prometheus setup flow * add prometheus config * setup prometheus systemd service * add self-hosted-monitor scripts * steps to run explorenym self-hosted monitor * add screenshots and explain steps * changed test page url and syntax edit * add grafana info * finalise explorenym scripts page and initialise docker page * initialise node setup page * clarify remaining todos and sort summary * add initial node setup steps * update node-setup * update docker setup layout * syntax edit * simplify node-setup and add troubleshooting * fix typo * implement feedback * new release version * remove sandbox from nymvpn gui guides * cleaning after FF testing * add blacklist troubleshooting * added run command * address review comments --- .../dev-portal/src/nymvpn/cli-linux.md | 2 +- .../dev-portal/src/nymvpn/cli-mac.md | 2 +- documentation/dev-portal/src/nymvpn/cli.md | 3 +- .../dev-portal/src/nymvpn/gui-linux.md | 6 +- .../dev-portal/src/nymvpn/gui-mac.md | 31 +-- documentation/dev-portal/src/nymvpn/gui.md | 18 +- documentation/operators/book.toml | 8 +- documentation/operators/src/SUMMARY.md | 6 + .../grafana/add-data-source-prometheus.png | Bin 0 -> 22776 bytes .../grafana/add-data-sources-button.png | Bin 0 -> 14954 bytes .../src/images/grafana/add-data-sources.png | Bin 0 -> 54971 bytes .../src/images/grafana/add-prometheus.png | Bin 0 -> 5785 bytes .../operators/src/images/grafana/id-1860.png | Bin 0 -> 8454 bytes .../src/images/grafana/import-dashboard.png | Bin 0 -> 75407 bytes .../src/images/grafana/menu-data-sources.png | Bin 0 -> 24824 bytes .../operators/src/legal/landing-pages.md | 4 +- .../operators/src/nodes/troubleshooting.md | 86 ++++-- .../operators/src/testing/docker-monitor.md | 246 ++++++++++++++++++ .../src/testing/explorenym-scripts.md | 131 ++++++++++ .../operators/src/testing/node-setup.md | 79 ++++++ .../operators/src/testing/performance.md | 32 +++ .../src/testing/prometheus-grafana.md | 36 +++ .../operators/src/testing/templates.md | 17 ++ 23 files changed, 652 insertions(+), 55 deletions(-) create mode 100644 documentation/operators/src/images/grafana/add-data-source-prometheus.png create mode 100644 documentation/operators/src/images/grafana/add-data-sources-button.png create mode 100644 documentation/operators/src/images/grafana/add-data-sources.png create mode 100644 documentation/operators/src/images/grafana/add-prometheus.png create mode 100644 documentation/operators/src/images/grafana/id-1860.png create mode 100644 documentation/operators/src/images/grafana/import-dashboard.png create mode 100644 documentation/operators/src/images/grafana/menu-data-sources.png create mode 100644 documentation/operators/src/testing/docker-monitor.md create mode 100644 documentation/operators/src/testing/explorenym-scripts.md create mode 100644 documentation/operators/src/testing/node-setup.md create mode 100644 documentation/operators/src/testing/performance.md create mode 100644 documentation/operators/src/testing/prometheus-grafana.md create mode 100644 documentation/operators/src/testing/templates.md diff --git a/documentation/dev-portal/src/nymvpn/cli-linux.md b/documentation/dev-portal/src/nymvpn/cli-linux.md index 2c8f932e0a..2d4db55778 100644 --- a/documentation/dev-portal/src/nymvpn/cli-linux.md +++ b/documentation/dev-portal/src/nymvpn/cli-linux.md @@ -1,7 +1,7 @@ # NymVPN alpha CLI: Guide for GNU/Linux ```admonish info -NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. +NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. ``` ## Installation diff --git a/documentation/dev-portal/src/nymvpn/cli-mac.md b/documentation/dev-portal/src/nymvpn/cli-mac.md index fa75a90659..9ae4039cdc 100644 --- a/documentation/dev-portal/src/nymvpn/cli-mac.md +++ b/documentation/dev-portal/src/nymvpn/cli-mac.md @@ -1,7 +1,7 @@ # NymVPN alpha CLI: Guide for MacOS ```admonish info -NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. +NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. ``` ## Preparation diff --git a/documentation/dev-portal/src/nymvpn/cli.md b/documentation/dev-portal/src/nymvpn/cli.md index 7151082e2a..f040b9cff2 100644 --- a/documentation/dev-portal/src/nymvpn/cli.md +++ b/documentation/dev-portal/src/nymvpn/cli.md @@ -5,6 +5,7 @@ Our alpha testing round is done with participants at live workshop events. This **If you commit to test NymVPN alpha, please start with the [user research form]({{nym_vpn_form_url}}) where all the steps will be provided**. If you disagree with any of the conditions listed, please leave this page. ``` + Follow the simple [automated script](#automated-script-for-cli-installation) below to install and run NymVPN CLI. If you prefer to do a manual setup follow the steps in the guide for [Linux](cli-linux.md) or [MacOS](cli-mac.md). Visit NymVPN alpha latest [release page]({{nym_vpn_releases}}) to check sha sums or download the binaries directly. @@ -15,7 +16,7 @@ We wrote a [script](https://gist.github.com/serinko/d65450653d6bbafacbcee71c9cb8 1. Open a terminal window in a directory where you want the script and NymVPN CLI binary be downloaded and run ```sh -curl -o execute-nym-vpn-cli-binary.sh -L https://gist.githubusercontent.com/serinko/d65450653d6bbafacbcee71c9cb8fb31/raw/4b70371fb000fd08910c0f778e78566d002e1319/execute-nym-vpn-cli-binary.sh && chmod u+x execute-nym-vpn-cli-binary.sh && sudo -E ./execute-nym-vpn-cli-binary.sh +curl -o execute-nym-vpn-cli-binary.sh -L https://gist.githubusercontent.com/tommyv1987/87267ded27e1eb7651aa9cc745ddf4af/raw/d39f98dbb36ccff761a7e940073388a6fe7b73fe/execute-nym-vpn-cli-binary.sh && chmod u+x execute-nym-vpn-cli-binary.sh && sudo -E ./execute-nym-vpn-cli-binary.sh ``` 2. Follow the prompts in the program diff --git a/documentation/dev-portal/src/nymvpn/gui-linux.md b/documentation/dev-portal/src/nymvpn/gui-linux.md index 2f66420bf1..e77945d9eb 100644 --- a/documentation/dev-portal/src/nymvpn/gui-linux.md +++ b/documentation/dev-portal/src/nymvpn/gui-linux.md @@ -3,7 +3,7 @@
```admonish info -NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. +NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. ``` ## Preparation @@ -14,7 +14,7 @@ NymVPN is an experimental software and it's for [testing](./testing.md) purposes 1. Open Github [releases page]({{nym_vpn_releases}}) and download the binary for Debian based Linux -2. Required (if you don't want to check shasum, skip this point): Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example: +2. (Optional: if you don't want to check shasum, skip this point) Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example: ```sh echo "" | shasum -a 256 -c @@ -43,6 +43,7 @@ sudo dpkg -i ./nym-vpn__amd64. sudo apt-get install -f ./nym-vpn__amd64.deb ``` + ## Run NymVPN diff --git a/documentation/dev-portal/src/nymvpn/gui-mac.md b/documentation/dev-portal/src/nymvpn/gui-mac.md index 9602f608cf..f3f3ccb89b 100644 --- a/documentation/dev-portal/src/nymvpn/gui-mac.md +++ b/documentation/dev-portal/src/nymvpn/gui-mac.md @@ -1,7 +1,7 @@ # NymVPN alpha - Desktop: Guide for Mac OS ```admonish info -NymVPN is an experimental software and it's for [testing](./testing.md) purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. +NymVPN is an experimental software and it's for testing purposes only. All users testing the client are expected to sign GDPR Information Sheet and Consent Form (shared at the workshop) so we use their results to improve the client, and submit the form [*NymVPN User research*]({{nym_vpn_form_url}}) with the testing results. ``` ## Preparation @@ -10,13 +10,6 @@ NymVPN is an experimental software and it's for [testing](./testing.md) purposes ### Installation - - 1. Open Github [releases page]({{nym_vpn_releases}}) and download the binary for your version of MacOS 2. Recommended (skip this point if you don't want to verify): Verify sha hash of your downloaded binary with the one listed on the [releases page]({{nym_vpn_releases}}). You can use a simple `shasum` command and compare strings (ie with Python) or run in the same directory the following command, exchanging `` with the one of your binary, like in the example: @@ -33,27 +26,9 @@ tar -xvf .tar.gz # for example # tar -xvf nym-vpn-desktop__macos_aarch64.tar.gz ``` - 4. Mount the `.dmg` image you extracted by double clicking on it and move it (drag it) to your `/Application` folder - + + ## Run NymVPN **For NymVPN to work, all other VPNs must be switched off!** At this alpha stage of NymVPN, the network connection (wifi) must be reconnected after or in between the testing rounds. diff --git a/documentation/dev-portal/src/nymvpn/gui.md b/documentation/dev-portal/src/nymvpn/gui.md index ca75730cc4..e410573a93 100644 --- a/documentation/dev-portal/src/nymvpn/gui.md +++ b/documentation/dev-portal/src/nymvpn/gui.md @@ -6,19 +6,31 @@ Our alpha testing round is done with participants at live workshop events. This **If you commit to test NymVPN alpha, please start with the [user research form]({{nym_vpn_form_url}}) where all the steps will be provided**. If you disagree with any of the conditions listed, please leave this page. ``` -This is the alpha version of NymVPN desktop application (GUI). A demo of how the client will look like for majority of day-to-day users. For qualitative testing the [CLI](cli.md) is a necessity but to run the GUI holds the same importance as it provides the user with an experience of the actual app and the developers with a valuable feedback from the users. +This is the alpha version of NymVPN desktop application (GUI). A demo of how the client will look like for majority of day-to-day users. Follow the simple [automated script](#automated-script-for-gui-installation) below to install and run NymVPN GUI. If the script didn't work for your distribution or you prefer to do a manual setup follow the steps in the guide for [Linux](gui-linux.md) or [MacOS](gui-mac.md) . Visit NymVPN alpha latest [release page]({{nym_vpn_releases}}) to check sha sums or download the binaries directly. -## Automated Script for GUI Installation +## Linux AppImage Automated Installation Method + +The latest releases contain `appimage.sh` script. This method makes the installation simple for Linux users who want to run NymVPN from AppImmage. Executing the command below will download the binary to `~/.local/bin` and verify the checksum. +```sh +curl -fsSL https://github.com/nymtech/nym-vpn-client/releases/download/nym-vpn-desktop-v/appimage.sh | bash +``` + +Run with the command +```sh +sudo -E ~/.local/bin/nym-vpn.appimage +``` + +## Automated Script for GUI Installation (Linux and Mac) We wrote a [script](https://gist.github.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19) which does download of dependencies and the application, sha256 verification, extraction, installation and configuration for Linux and MacOS users automatically. Turn off all VPNs and follow the steps below. 1. Open a terminal window in a directory where you want the script to be downloaded and run ```sh -curl -o nym-vpn-desktop-install-run.sh -L https://gist.githubusercontent.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19/raw/6c81619ec26b092dfa174bce79335f4163c657ff/nym-vpn-client-install-run.sh && chmod u+x nym-vpn-desktop-install-run.sh && sudo -E ./nym-vpn-desktop-install-run.sh +curl -o nym-vpn-desktop-install-run.sh -L https://gist.githubusercontent.com/tommyv1987/7d210d4daa8f7abc61f9a696d0321f19/raw/939ac8d0afed69f43739b9cf2e5728454ea2c437/nym-vpn-client-install-run.sh && chmod u+x nym-vpn-desktop-install-run.sh && sudo -E ./nym-vpn-desktop-install-run.sh ``` 2. Follow the prompts in the program diff --git a/documentation/operators/book.toml b/documentation/operators/book.toml index ba325763ad..d987773f01 100644 --- a/documentation/operators/book.toml +++ b/documentation/operators/book.toml @@ -30,9 +30,11 @@ assets_version = "3.0.0" # do not edit: managed by `mdbook-admonish install` [preprocessor.variables.variables] minimum_rust_version = "1.66" wallet_release_version = "1.2.8" -# nym-vpn related variables -nym_vpn_latest_binary_url = "https://github.com/nymtech/nym/releases/tag/nym-vpn-alpha-0.0.4" -nym_vpn_form_url = "https://opnform.com/forms/nymvpn-user-research-at-37c3-yccqko-2" +performance_testing_webpage = "https://nymtech.net/events/fast-and-furious" +performance_validator = "http://validator.performance.nymte.ch/" +performance_testing_release = "v2024.2-fast-and-furious-v2" +# dependencies +prometheus_latest_version = "v2.50.1" [preprocessor.last-changed] command = "mdbook-last-changed" diff --git a/documentation/operators/src/SUMMARY.md b/documentation/operators/src/SUMMARY.md index 6afd7c893c..669fd2a42d 100644 --- a/documentation/operators/src/SUMMARY.md +++ b/documentation/operators/src/SUMMARY.md @@ -21,6 +21,12 @@ - [Maintenance](nodes/maintenance.md) - [Manual Node Upgrade](nodes/manual-upgrade.md) - [Automatic Node Upgrade: Nymvisor Setup and Usage](nodes/nymvisor-upgrade.md) +- [Performance Testing](testing/performance.md) + - [Node Setup](testing/node-setup.md) +- [Metrics Monitoring](testing/templates.md) + - [Prometheus & Grafana](testing/prometheus-grafana.md) + - [ExploreNYM scripts](testing/explorenym-scripts.md) + - [Troubleshooting](nodes/troubleshooting.md) # Token Economics diff --git a/documentation/operators/src/images/grafana/add-data-source-prometheus.png b/documentation/operators/src/images/grafana/add-data-source-prometheus.png new file mode 100644 index 0000000000000000000000000000000000000000..c9bae39f390ae0e6b78c3976fc4db9a1855b51ad GIT binary patch literal 22776 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 Tzi@pz&~??++N9jrH_x`@geLTEhlr5Ba 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 B;(Gu9 literal 0 HcmV?d00001 diff --git a/documentation/operators/src/images/grafana/add-data-sources.png b/documentation/operators/src/images/grafana/add-data-sources.png new file mode 100644 index 0000000000000000000000000000000000000000..6ec2b2fb7b222d4f20e49344c8d24ebb9b1bcecf GIT binary patch literal 54971 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 literal 0 HcmV?d00001 diff --git a/documentation/operators/src/images/grafana/add-prometheus.png b/documentation/operators/src/images/grafana/add-prometheus.png new file mode 100644 index 0000000000000000000000000000000000000000..c25dae3b6902b1cb0ce46e33f4d7ce2626a5e9ae GIT binary patch literal 5785 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 XO?zUMz=K^-asb-u_Yozkk6!-=QJxTX literal 0 HcmV?d00001 diff --git a/documentation/operators/src/images/grafana/id-1860.png b/documentation/operators/src/images/grafana/id-1860.png new file mode 100644 index 0000000000000000000000000000000000000000..3c277642b5b5577d53f48e9695973c3d93118bf3 GIT binary patch literal 8454 zcmd6NWk6JI6y`+~krXNEQjk`<8v$X+p;J;?7(!Y>#Gykv2Bf=(29?gCYbYg#aOln* zzuh0Z`)hyhpP74Zp7*`yJkRr;I~MgG=U0RTooML`z)Ap^Z=XQHD|1MH(%W#pbP{^eFR`G~Lhcn4@`d?@mM z;t!w*-mdV|R?>2$D>sfHeL(VklA>i%v*vzxeZe_ztJ+cX@I~c>C{w9;3n^jHjWrR00;8NhQh5$*j0N7{=kkHEMn5lPM>Uor}3`N^1Qj z+oxM;1_o=S5c+KI=0@(_=Qh(`UJ_`HxcmNO?9Wati`#{diufT?TeI^MTRUnNbMwpoL{T< z9)kSNH>DEa+~mnSXcSiRe^OcP`QX;{+|Y3ND0n=u6K&PVzy#B{EQ&V-H5+94foVX=7>5a*EvgQeeIx=ItXNc7-_ z{wgbr{P;ljK9+-nK;iBPRjMm|Z`PoXosm=Rsk91fGM#u}V_?XAS+$d_^J%ot+OgZl64nczbP4 zNI1Ns^}B=N2E>{`a{twsc25T<##xsZdyri8*D z;#Z|9z4*M&GYZTLeL+ODIc!(#j%J%{ugP{R%gIi9iiJKGx=87YyTsu!p~ z-4)GCQ72|#jU`P%psEe1A%XjQzt@-_<1#Z>W=KKQc#?&Ml5h%jNcs2se(F$Dr+va2 z%F!>Meea} zxfJQnxcw^8PVl-Z9XQ$zroK!F-@!mSp>RFlFYOGUAvRM^nB)e za#jT7_O!}?gW{PPGW*4(5PavAP)g7EpbGSZzfC@v3jijFLd1v&EZ?PmYxO(aACK{O z5dt>Tytf2Ch$3eznkDYsX7SW*wzR}UC^G3`dc1cOe-`nM$%Fs~VmG}!xS_zjSvu?$PU2|f<9GQGuor$%9 z0aulm_FGBLJ74@FS%p=V2pITXBK7-jGdcBntE;O|U<}IB0(=4#s$HK{H#!0n;FeQQ z09@P*V{v<|ALrGiSEpXfaI4k!o0cy`RO%ECjyr0wUC7p9ljxD%w{K(*xiDnP!m^4% zH%gwYo431l0|Vi**kN&rE#46IH@?lbXg+w7kk6?yHV(m~rTXXA%Lo>wNN45|oGa!z zq^C)f?N&(G88yKZAnER0=XHs&>5)%8@d|7N?bu zISH)l#w~#tKRd73e0@22ggwv;&V$qSg$Ua8qYzlV?#_b_u^q=~pp)*Njeq-MOa42ud2D=Y0*8205q zC>Z<*&X01AY=GMzt&UH*xs6364ONyE8PvM7gvu35Pep`_Mu7@LZ&jVjj4Msro>||G zxLLJIe2H>!;=&wYwY69ozmPCn{}jT+RUtp0DKAjqLZc76%E6+X zMkcrVjr(kJ)Q|*lqRQBEl7+lDlw0O}`rZKV$~MA2(6*H|M@B43GfOm5Mio1w;QOwj z;wGu{wx&xAin{sw`eY`HyV|kz%dTFVt5u0_jWcC<8n(>%VT9#=@#1K(uICJUSWVVv zvsnvRI<<|h@aHm%EfF)YDLs6OePbq$ZsA(+*cte-Bq_tS66);P9AH@hI_tk5iU-`6 zefy5ubn$l@S$+9cQ8^j8pd!9-5RA4xH~C9@lxfEUAlu$zM-DEg7`pY zN@`42;WrL2o&vbN<#{uzx}`73QuaaW;NYS8zAA(!qe$7%KhC4wcl~vD{m~_&T^ZEm zx2HFa9GY!>cQ|0eJ0s<~loysIeX{|&%wf6OVL0482%)NFE6DH2d#u3T&^0uf!Ik_b zzfhfF7=dW>UvG_uS0quiKng3=Sa*_RSB8d!do}2PyQ`)V2{IqPVJcjiMyGpFOa3u3 zFf-fj>^+N$QX?ZD$r4XYPQF^(>O42DZZo+8KDHo#IL7Hed9vH;pLp3@9l|rx)@Qye zm$R}TXO7`n{QJQ*huXjk?sdHT!SjnJ?q~=%-`}5|e(Z>Z5mOOWilij>Ld0=+cyzXA zQFpgu!JZOZ@?gEd9CO^eBTOo&GXw;k##bsSJu8%mh;GumYTnr5?=^4tCkf)@x%Dz3 zbrYJV1Zc&5o=M*5Dk}Pf$i^R38BlY86Z!38DvfIEP8;8-Hp%5^K6^r*OxAB*)1$71 zHY4lx+FdIuFRx{LCc??NIyATXNfkxuhUZ9`MJRc3>RgbH1Zn~uwvQ-zwc~ZN);HFl zu}X~$4??4xaDdledaOgwk#3?*doBx&6%`|2!=Wqh@mz1oOUujUbH~!&!EfuzB=^Zn zDZ>6D+2fQk?2p03FF0S;bc8J{J3ho6@~~YwZL*{2D>yhftZ$^F>9}}!@FcxUioQ-v ztheBx%sSd{_-mIk2qjY!6RRNzc>PZDpmoiqjwx$`ph%_xR}{Uvi z?(=iUSeV!kS~9pveff){;)~0ouz*~k3b@b0#q3F@4Pyz9-Ih`O`g(?dy6run71UZ} zKU)Az!%H&lk%&Q>>LziP@N{@jON;s{W&Y~g_beBSVkUitrQmg_3#?c#lye|f6RrDg z;=h+&ab>2R1^*|nTQDTL^^D|je3w2>MPW|mZN877KCzDL7m4=P48|7@9)xb54@3ou z74j-ifIY0Ou^>wA?OUSmKJ60<61*LzGWhH-A=MY$$wXzJSx0~*A=^&iEUitb5D>Y^o^CcttSEL}r=|ZpZve_8YwxqY!eAf* z#wL8~*?HPYz~M(~o!X~|Zz_5UWD zpNC@urgV~ubv{j^_hsMJ)?>*qKAwzeCF1_~MEZ-y?3XZqnZgN-KwMksOzdP|(Ld-P zh6V>;FLwNWD%=ApIV+2doVf}@9v!aZ11m=tf>xAxeYHy3k#&sHh@N?PwaD`)Za3}9 zQ&Ur*`;P#mR~bxn@$AQKu8B)OCetdEgqsCtEM}PFioAFkICi#m!QYOSP?5*S`X~61 zBXDb;3QA0I(GC<1kGA@Ri0wnOU?YSDRmppiojz0cr71s@bQWAQm$fThQ!+lVXzzPlAf08Fc~NuputpuvzcA zhL%IOyqUQ}odry8L>U8%L>`xyydXOahn}Gl77lQLVz5GfiJ;ce-huTL?emHXbA$e2 zZ7r*!alt;ubv`Kb${F#Rj3)50XHqxUQIEn705bD?c>@YJL(TP$-cZ4BD<-mSz`DLR zDy*_vOv}$(zar5uU-sREMLc3yxj z;InV3iLH2hTdVi(q1xX#ZYMR@)M#^qxLFe(U|8;jp3_|l)NL5eR8X+7W&|7L)*?$w zN$X!f9IqLVaVjq>o9tSOa<9GM#a*<^p{(|A-wWOqT zg!y%xTUttrAc>t-z|Arv79-0MX!J0Yl$9u^i9|GL>3dHN*veE`uj#XK*~RU1Y@mgR zNPs$u3tYAZQd3iH?2fA6Ke#olEg#}8P*1IYJF#sjm2ie$*1ck1HJXs;qB!~>0gR50 zPFmOlK&ad+A)((%?lewG7?){BEMCsf!dYXP=Lwu!ycYB`^=VZqC+mphv+0Q*{^uLaMn|qyCfkprr>?oVC(rj ztk_CcN-y8BsOZ%;S&au*-k4Fmtx75juxSpP0a&oF`YfB+9Ss;PL^S_T^ z2;-H8#(GftmQH|xV7(N-5HEt=i;i~TlJM{PJn9sk4m>9H3+S^T#*hN>go)_k(7r2_G&^L_?WyO4mXF^gCMYIN7wkyY;p2L}h0d~K+L98WOK z@vA~*rdJ1U_UtpROUxMj9Lw!-oqt@Go2x`|i6E}4t2?EYo*VxqCItUPLnA#U?Ucj_ z{E%6$N^Aha3qWzm|7s4(PdQaPTc4g?^PNn zK_Q;``2pMOStzCugjtT8G=F$5z&Aycp`O?}fLTVX!^B!lk*6b)CJ%`Ziy$^_@Pa}e ztJ+`$%KM#bWu>cT%VEp6ucvJ&zFAg`n!S=bqTY#<)6Fd^vQM9F*cPeziFZF#PB*{Q zk-FY3bI~HSz;V9i;XA52td9*E2;|9;T@?ttm8NbL1c%@k>CF1{l{6rDICpIvga7;z z1;}h9HMOkj&?l0Lio@S0UclcPD+-pRiRp&g?yme4+LcLa{P4wNlOL9?*)5l)#%kZp zYmC}b%hVGni0=IHe6C*~U=(K`TKFlyT=Foq!~sRmNC9?-^j)c~a|jf0n08jcq$iEn zfFCVurCvAJR7O1>Nr6bS<%CeDTrYXb9?YotpvoK+FT7Z`zb=X2hg@_FQO-Htf!Wy+ zfs$3dkYC^4cD|+;be+}4YnF^IZh)Vlf`?G!f-Am;h&GVyO?uo)n zwN!!JY)03e(-Z4x`_bME<_Di-sxAw&n;;aotpU7+MemQ`^%oaSK=unRjt!^9_FEQj z-!#3J${1H6aq*qaYWZ5bVJ6%^$8)OzSB;!m;a^+%7OXrR(}fW6S-a9zVO(pvdIjzN zw-ehSOXvsGZuuIDY}@aK)p-!^sncc$IzChn%7nXg;x(Bpt$-^fGjA_B^~QdUEFw29 zd1k9zT4Y{Gc>h*IBQz(+jy)Wl^fJUCLw3`&Eb^yB{zwFe%E!G z)pS#!H~Xufl09hJ`fGM!VbL>1Y*)UTgkQ&8&BXYv&sWIpB*d)7d_1h;gbflHUu>Mx zuV);)tIww^6>d@EU~ib@YwAL>%vGC62ml5=-AQ+t66@Rma`MxbO!J z8biB64yE#U-J-nAwF$ra4j-bh>6BdDX{%qcJ^%hR7{E7|6k(VRn56Iot;T0`8TZ-^tk;y(w5}DQ z1MISxaknEH7x|z?fjXGV%FBAt!wV(V&#iWGH1(3xSTcq`2g|xtF@7`QzHvKURZ32p z5`B|c!A=3bE>|$EJ#E`nRv~#^K*3GdDI9)nk+|1NB`P|1*CBMdC+fZr-n^KYVZQS! z)e1V3{VyPdDynmD32}q3UnCcNa_%s+<8iIHx;3UMcBF0!3cB5n4!S^Fc)8&BbFSAP zs6t%n57v@5>Xem>n*2#iA)jMwUSeu7n*xVp`8H3qbd6``p6_MVc_<9$Hh*6+hYezV zy!JOzRr=J9tA@hO(TKg{7-BJdnh@H)DgUQ=m*qiE=UJF9FM}C{QBMb3CJV;3JH!8V+L`WzXvj~K z4i{sONjhFkdFr!z;nl^1ENMy-FHzg>a8D;V{CiDS*6lnDZqnwy`Zx8Z>t5>p117Nk zjFb`)EF8Ck>Toc}%URrim;a~Ha@x{$0 zp@_$ayUwsj{p<*@-FXMs<+0IGTwq}V=Oxup{f^!*cw*gBCCCM)pDer+GzRv4L_ULo!NA?tOFj1G%*= zon%&xG<7ranTZK~9i73!L0y6P^khd%%gg`fZxbmzslwkkvA-_VscXI+0f% z)>uHu>qn`sE=A?k{?SK+&!ct3d*UB`Sz{ty^e7;nY`cqR@Q=2#QrodXIE<0_*Hku$ zxsJL%JabuYM`2>5$;3=so3^TGgJ!~zD++416vH5G0C&>j#8(aKkRc~e%)N8Zu%L0(7Wk7IksDM(6}z7O#`E^gAKgbbQsT9t%!ce5cmQ4b zl&RQc9{N?qUzA}mw;kS^`&S<$H`^xi#1ggT{pt8E6GcVO!KBRAfr00$*K3RnqLwE6 z(QS~8k)om($pd+z4;~=luHOc2c+K0gwTqXphNQi&Up6rzEbZSnJ-24zA|(7&wcE^q zN%|lP(wg> z>Q+dW#SUTt)_fn5v=*n5#=ftf3vgdF9nnkr8W|c@8qs|_|Jz?{r!nJd!2SgKg^&&l zScs4R_RS8nbSb;o*5!!kw&Y92RCAs{8&7wep-@BFK(j#tOouU+kMT$hcJwFDy948FSPkl8ibqnV!AHp&c%H)4aPz)|IoKxZhp1D;iF~7pBRsAZ*;T zBax#ORr?G!@tLB6eWf`=7P*ga#;p9wbXg?EoJM?ZcAp$U!DkR*~ z+qP$?5E}E4klNPCve_4;i64EB>9Z!jcFq&}5u@ZR^`-*e<{stWY+ zxKl?kc|h@Cf&CZd4z31c*20-N>P83siOGA3e#b>VobSb=RrOh3pIVF8+nA}m zKx}-y^ca5^M{>jeIj*?dPUx-pZ!sW`7L5-$J0bJ(J1(!QZa-}niDTn5!8|Rr{<5B$Yjpro{?60beW1#G=EJ)+O-t=wl%m0|*4e`W39?3iY zzsxkz%)xbcLEWhhXVQPoZII&^=|c`KKY1(UyOb7idy76R7^5Ybac!IxNd7Qz1mzreuJ literal 0 HcmV?d00001 diff --git a/documentation/operators/src/images/grafana/import-dashboard.png b/documentation/operators/src/images/grafana/import-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2a17aed7a54fb300ce10be47085646b478014156 GIT binary patch literal 75407 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 literal 0 HcmV?d00001 diff --git a/documentation/operators/src/legal/landing-pages.md b/documentation/operators/src/legal/landing-pages.md index 5316fdbbc6..adcda45548 100644 --- a/documentation/operators/src/legal/landing-pages.md +++ b/documentation/operators/src/legal/landing-pages.md @@ -344,7 +344,7 @@ sudo nginx -t sudo systemctl restart nginx ``` -When done with the customization needs as described below, you'll need to upload the file and reference it as the 'landing_page_assets_path' on the '[http]' section of the config.toml file that you'll find in the .nym folder, +When done with the customization needs as described below, you'll need to upload the file and reference it as the `landing_page_assets_path` on the `[http]` section of the config.toml file that you'll find in the `~/.nym/gateways//config/config.toml` file ``` nano ${HOME}/.nym/gateways//config/config.toml ``` @@ -366,4 +366,4 @@ where you should read out ``` ... Started NymNodeHTTPServer on 0.0.0.0:8080 ``` -or just point your browser to the URI which you set above, such as https://nym-exit. \ No newline at end of file +or just point your browser to the URI which you set above, such as https://nym-exit. diff --git a/documentation/operators/src/nodes/troubleshooting.md b/documentation/operators/src/nodes/troubleshooting.md index fc201639c4..96640e45e6 100644 --- a/documentation/operators/src/nodes/troubleshooting.md +++ b/documentation/operators/src/nodes/troubleshooting.md @@ -15,7 +15,7 @@ warning: build failed, waiting for other jobs to finish... error: build failed ``` -Why does this happen? +Why does this happen? We have scripts which automatically include the Git commit hash and Git tag in the binary for easier debugging later. If you download a .zip and try building from that, it's not a Git repository and build will fail as above. @@ -26,7 +26,7 @@ What to do? ``` git clone https://github.com/nymtech/nym.git ``` -* Follow the instructions to build the platform +* Follow the instructions to build the platform * To upgrade, pause your nodes, in the same terminal window run `git pull`, follow the upgrade instructions and re-start your nodes. ## General Node Config @@ -53,21 +53,21 @@ bob@nym:~$ tree /home/nym/.nym/mixnodes/ > If you `cat` the `public_sphinx.pem` key, the output will be different from the public key you will see on Nym [dashboard](https://sandbox-explorer.nymtech.net/). The reason for this is that `.pem` files are encoded in **base64**, however on the web they are in **base58**. Don't be confused if your keys look different. They are the same keys, just with different encoding :) -## Mix Nodes +## Mix Nodes ### How can I tell my node is up and running and mixing traffic? -First of all check the 'Mixnodes' section of either the Nym Network Explorers: -* [Mainnet](https://explorer.nymtech.net/) -* [Sandbox testnet](https://sandbox-explorer.nymtech.net/) +First of all check the 'Mixnodes' section of either of the Nym Network Explorers: +* [Mainnet](https://explorer.nymtech.net/) +* [Sandbox testnet](https://sandbox-explorer.nymtech.net/) Enter your **identity key** to find your node. Check the contents of the `Mixnode stats` and `Routing score` sections. -There are 2 community explorers currently, which have been created by [Nodes Guru](https://nodes.guru): +There are 2 community explorers currently, which have been created by [Nodes Guru](https://nodes.guru): * [Mainnet](https://mixnet.explorers.guru/) * [Sandbox testnet](https://sandbox.mixnet.explorers.guru/) -[Here](https://github.com/cosmos/chain-registry/blob/master/nyx/chain.json#L158-L187) is a dictionary with Nyx chain registry entry regarding all explorers. +[Here](https://github.com/cosmos/chain-registry/blob/master/nyx/chain.json#L158-L187) is a dictionary with Nyx chain registry entry regarding all explorers. If you want more information, or if your node isn't showing up on the explorer of your choice and you want to double-check, here are some examples on how to check if the node is configured properly. @@ -151,7 +151,7 @@ PORT STATE SERVICE 1789/tcp open hello ``` -##### Query online nodes: +##### Query online nodes: ``` curl --location --request GET 'https://validator.nymtech.net/api/v1/mixnodes/' @@ -159,7 +159,7 @@ curl --location --request GET 'https://validator.nymtech.net/api/v1/mixnodes/' Will return a list all nodes currently online. -You can query Gateways by replacing `nym-mixnodes` with `nym-gateways` in the above command, and can query for the Mix Nodes and Gateways on the Sandbox testnet by replacing `validator` with `sandbox-validator`. +You can query Gateways by replacing `nym-mixnodes` with `nym-gateways` in the above command, and can query for the Mix Nodes and Gateways on the Sandbox testnet by replacing `validator` with `sandbox-validator`. #### Check with Network API @@ -297,16 +297,73 @@ You don't have to do any additional configuration for your node to implement thi ## Gateways & Network Requesters -### My Gateway seems to be running but appears offline +### My Gateway is running but appears offline in the explorer -Check your [firewall](./maintenance.md#configure-your-firewall) is active and if the necessary ports are open / allowed. +Let your Gateway run and follow these steps: + +1. Check if your [firewall configuration](./maintenance.md#configure-your-firewall) is active and if the necessary ports are open / allowed, including the ones for Swagger page and Reversed proxy/WSS if this is your case. +2. See if the Gateway is not on the [list of blacklisted Gateways](https://validator.nymtech.net/api/v1/gateways/blacklisted) +3. If it's blacklisted, check out the [point below](#my-gateway-is-blacklisted) + +### My Gateway is blacklisted + +Nym API measures performance by routing traffic through the Mixnet. If the average of a Gateway's routing score in past 24h is less than 50%, the Gateway gets blacklisted and remains so until this number is higher than 50%. + +In case your Gateway appeared on the [blacklist](https://validator.nymtech.net/api/v1/gateways/blacklisted), it's because there is some flaw in the configuration. The most common sources of problems are: + +- Bonding before starting the node/service +- Bonding before opening [the needed ports](maintenance.md#configure-your-firewall) +- VPS restarted without operator having a [systemd automation](maintenance.md#systemd) or some alert notification flow setup + +What to do: + +- Make sure your node is running and do not stop it if there is no need +- Open all needed ports +- Wait until your node gets above 50% of performance (average of last 24h) - this will likely take several hours, up to a day. During this time your node is tested by `nym-api` and every positive response picks up your Gateway's routing score. + +**Do not restart your Gateway without reason, your routing score will only get worse!** ### My exit Gateway "is still not online..." -The Nyx chain epoch takes up to 60 min. To prevent the Gateway getting blacklisted, it's important to run it before and during the bonding process. In case it already got blacklisted run it for at several hours. During this time your node is tested by `nym-api` and every positive response picks up your Gateway's routing score. +The Nyx chain epoch takes up to 60 min. To prevent the Gateway getting blacklisted, it's essential to start it before the bonding process and let it running. In case it already got [blacklisted](#my-gateway-is-backlisted) check the steps above. -You may want to disconnect the Network Requester and let it run as a Gateway alone for some time to regain better routing score and then return to the full [Exit Gateway finctionality](./gateway-setup.md#initialising-gateway-with-network-requester). +### When enabling `ip_packet_router` (IPR) I get a `client-core error` + +This error tells you that you already have IPR keys in your data storage, to activate them you have two options: + +1. Open `~/.nym/gateways//config/config.toml` and **set the correct values** +```toml +[ip_packer_router_enabled] +enabled = true + +# UNDER [storage_paths] CHANGE +ip_packet_router_config = '~/.nym/gateways//config/ip_packet_router_config.toml' +``` + +2. Or **remove the IPR data storage and initialise a new one** with these commands +```toml +rm -rf ~/.nym/gateways//data/ip-packet-router-data + +./nym-gateway setup-ip-packet-router --id +``` + +### My `ip_packet_router` (IPR) seems to not work + +There are a few steps to mitigate problems with IPR: + +1. Check out the issue right above regarding the [Exit Gateway config](#when-enabling-ip_packet_router-ipr-i-get-a-client-core-error) +2. Open your browser and checkout the Swagger UI page and see if all the roles are enabled: +```sh +# in case of IP +http://:8080/api/v1/roles + +# in case of hostname domain +https:///api/v1/roles +``` +3. Make sure all your [ports are open](https://nymtech.net/operators/nodes/maintenance.html#configure-your-firewall) properly +4. Make sure to run your Gateway with embedded IPR as root. Either in a root shell with your configs in `/root/.nym/` or with a command `sudo -E` which gives root privileges but looks for user config folder +5. If it's all good in the API but you don't see the right tick/badge in the [Performance testing list](https://nymtech.net/events/fast-and-furious), just wait some time and then try to refresh the page ## Validators @@ -324,4 +381,3 @@ If the `/dev/sda` partition is almost full, try pruning some of the `.gz` syslog The fastest way to reach one of us or get a help from the community, visit our [Telegram Node Setup Help Chat](https://t.me/nymchan_help_chat) or head to our [Discord](https://Discord.gg/nym). For more tech heavy question join our [Matrix core community channel](https://matrix.to/#/#general:nymtech.chat), where you can meet other builders and Nym core team members. - diff --git a/documentation/operators/src/testing/docker-monitor.md b/documentation/operators/src/testing/docker-monitor.md new file mode 100644 index 0000000000..78f1e17d7d --- /dev/null +++ b/documentation/operators/src/testing/docker-monitor.md @@ -0,0 +1,246 @@ + + +# Setup Prometheus and Grafana in a Docker + +This setup may seem more complex than running a few scripts, but it has certain advantages. +- Running things in a container + + +## Docker, Prometheus and Grafana Metric SETUP + +This setup can be done from the same VPS like your node or on a completelly remote machine. In any case it's setup in a Docker container so it works remotely from the environment where your node runs. + +### Docker setup + + + +### Prometheus Setup + +This entire installation shall be done with `root` privileges. If you not `root`, start with `su` command before the following steps. + +1. Get the latets system updates +```sh +apt update +``` + +2. Create a system user for Prometheus +```sh +groupadd --system prometheus +useradd -s /sbin/nologin --system -g prometheus prometheus +``` + +3. Create directories for Prometheus +```sh +mkdir /etc/prometheus +mkdir /var/lib/prometheus +``` + +4. Download and extract Prometheus +```sh +wget https://github.com/prometheus/prometheus/releases/download/v{{prometheus_latest_version}}/prometheus-{{prometheus_latest_version}}.linux-amd64.tar.gz +tar vxf prometheus-{{prometheus_latest_version}}.linux-amd64.tar.gz +``` +In case of errors, check Prometheus [release page](https://github.com/prometheus/prometheus/releases/) and get the correct binary for your system. + +5. Navigate to Prometheus directory and configure Prometheus +```sh +# change directory +cd prometheus-{{prometheus_latest_version}}.linux-amd64 + +# move the binary files +mv prometheus /usr/local/bin +mv promtool /usr/local/bin + +# set owner +chown prometheus:prometheus /usr/local/bin/prometheus +chown prometheus:prometheus /usr/local/bin/promtool + +# move the config files +mv consoles /etc/prometheus +mv console_libraries /etc/prometheus +mv prometheus.yml /etc/prometheus + + +# set owner +chown prometheus:prometheus /etc/prometheus +chown -R prometheus:prometheus /etc/prometheus/consoles +chown -R prometheus:prometheus /etc/prometheus/console_libraries +chown -R prometheus:prometheus /var/lib/prometheus +``` + +6. Open the main Prometheus config file `prometheus.yml` +```sh +nano /etc/prometheus/prometheus.yml +``` + +7. Paste the block below to your config `prometheus.yml`, change the line `credentials` and save it (`ctrl` + `x`) + - `credentials` value must be the same like in your node `config.toml` config file under `[http]` header + - In case you haven't set up yet a `` in your node `config.toml`, add it by opening a machine with your node and run [this script](https://gist.github.com/benedettadavico/1299b2c7b8b8282c15eafb1914fb3594) with an arbitrary `` of your own choice as an argument, follow these commands with your own **strong passphrase** +```sh +# get the script +curl -L https://gist.githubusercontent.com/benedettadavico/1299b2c7b8b8282c15eafb1914fb3594/raw/500c36037615a515f2f3e007baa25e6a2c277d4a/update_config.sh -o update_config.sh + +# make executable +chmod u+x ./update_config.sh + +# run with your own key as argument +sh ./update_config.sh + +# for example if you chose my passhphrase to be: "makemoresecurekeythanthis1234" +# the command would look like this +# sh ./update_config.sh makemoresecurekeythanthis1234 +``` + - Add this `` string to your monitoring Prometheus config `prometheus.yml` as a value to `credentials`, paste the block below to your `prometheus.yml` as below + +```yaml +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + # - alertmanager:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + # - "first_rules.yml" + # - "second_rules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: + +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: "prometheus" + authorization: + # CHANGE THIS TO YOUR OWN STRING + credentials: + + static_configs: + - targets: ["localhost:9090"] + + file_sd_configs: + - files: + - /tmp/prom_targets.json +``` + +8. Create Prometheus systemd service by saving the block below to as `/etc/systemd/system/prometheus.service`: + +```sh +nano /etc/systemd/system/prometheus.service +``` + +```sh +[Unit] +Description=Prometheus +Wants=network-online.target +After=network-online.target + +[Service] +User=prometheus +Group=prometheus +Type=simple +ExecStart=/usr/local/bin/prometheus \ + --config.file /etc/prometheus/prometheus.yml \ + --storage.tsdb.path /var/lib/prometheus/ \ + --web.console.templates=/etc/prometheus/consoles \ + --web.console.libraries=/etc/prometheus/console_libraries + +[Install] +WantedBy=multi-user.target +``` + +9. Reload, enable, start and check Prometheus service +```sh +systemctl daemon-reload +systemctl enable prometheus +systemctl start prometheus +systemctl status prometheus + +# to observe journal log, run +journalctl -f -u prometheus +``` + +10. Open port for Prometheus web interface +```sh +ufw allow 9090/tcp +``` +11. Finally you can access Prometheus on `localhost:9090` or `:9090` + +Further reading on Prometheus functionalities: +- [Alerting overview](https://prometheus.io/docs/alerting/latest/overview/) +- [Exporters and Integration](https://prometheus.io/docs/instrumenting/exporters/) + +### Grafana Setup + + + +## Setup Access on your Node + +This part needs to be done on the machine where your node runs + +### Node Exporter Setup + + + +## Grafana Dashboard Access + +Finally we need to access Grafana dashboards. + +1. Open a browser at `http://:3000` or `https://` (depends on your setup), enter username `admin` and password `admin` and setup new credentials on prompt + +2. Setup *Data source* by opening menu -> `Connections` -> `Data sources` -> `+ Add new data source` -> `Prometheus` + +![](../images/grafana/add-data-sources.png) +![](../images/grafana/add-data-source-prometheus.png) + +3. In the field *Connection* next to `Prometheus server URL` enter `http://localhost:9090` (regardless if you accessing Grafana via `http` or `https` as this is for internal connection on the server). When you are done in the bottom confirm by `Save & Test` + +4. In the menu open: `Dashboards` -> `+ Create dashboard` -> `Import dashboard` + +![](../images/grafana/import-dashboard.png) + +5. ID field: enter `1860` -> `Load` + +![](../images/grafana/id-1860.png) + +6. In *Import dashboard* page select Prometheus in the bottom and finally `Import` + +![](../images/grafana/add-prometheus.png) + +Now you have your Prometheus panels displayed via Grafana dashboard for a simple monitoring of your node. + + + + +## Grafana Setup diff --git a/documentation/operators/src/testing/explorenym-scripts.md b/documentation/operators/src/testing/explorenym-scripts.md new file mode 100644 index 0000000000..4b9ee6bdbe --- /dev/null +++ b/documentation/operators/src/testing/explorenym-scripts.md @@ -0,0 +1,131 @@ +# ExploreNym Monitoring Scripts + +## Community Monitoring Tools + +Individual operators, node families and squads are the foundation of distributed network. There has been a great number of tools coming out of this community some of which can be deployed for the node monitoring setup. + +```admonish warning +Make sure you understand and properly evaluate what degree of control you give permission to before granting access to your data to any tools running on someone else's servers. +``` + +## ExploreNYM Tools + +Long term involved operator Pawnflake, an author of [ExploreNYM](https://explorenym.net/) explorer, created a monitoring flow, which can be used by other operators called [`self-hosted-monitor`](https://github.com/ExploreNYM/self-hosted-monitor). It utilises bash scripts to enable operators setup [Prometheus](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/prometheus.sh) and [Grafana](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/grafana.sh) together with [Node Exporter](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/node-exporter.sh) and [Nginx](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/nginx-certbot.sh) to run their metrics monitoring stack locally. + +In collaboration with ExploreNYM we published a [step by step guide](#setup) to set this up. + +ExploreNYM also has a network measuring instance called `enym-monitor`. This setup is very simple for users, however it means that their data are all aggregated into one server and that is a design we would like to discourage from using as a primary one because such setup always brings a risk of centralisation of distributed node's data into one computer. + +## Setup + +```admonish warning +This setup and the scripts included were not written by Nym developers. As always do your own audit before installing any scripts on your machine and familiarize yourself with the security risks involved when opening ports or allowing http access. +``` + +According to ExploreNYM the system requirements of the monitor stack are: +- 2 CPU +- 4 GB RAM +- 20 GB of free disk space. + +### The monitoring part setup + +This can be setup on another VPS than the node if desired. We recommend to try to set this up on the same VPS, as your node as we expect the machine to be strong enough to handle the node with enough capacity reserve for monitor. + +1. Install git +```sh +apt install git +``` + +2. Clone the repository to `~/self-hosted-monitor` +```sh +git clone https://github.com/ExploreNYM/self-hosted-monitor ~/self-hosted-monitor +``` + +3. Give permissions to [`prometheus.sh`](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/prometheus.sh) script and run it to setup Prometheus +```sh +chmod +x ~/self-hosted-monitor/prometheus.sh && ~/self-hosted-monitor/prometheus.sh +``` + +4. Give permissions to [`grafana.sh`](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/grafana.sh) script and run it to setup Grafana +```sh +chmod +x ~/self-hosted-monitor/grafana.sh && ~/self-hosted-monitor/grafana.sh +``` + +5. Open port `3000` to allow access to Grafana +```sh +sudo ufw allow 3000 +``` + +6. You can now access Grafana at `http://:3000`. + +7. (*Optional step*) If you have a registered domain and prefer to use it with `https`, give permissions to [`nginx-certbot.sh`](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/nginx-certbot.sh) script and run it to setup Nginx and Certbot +```sh +chmod +x ~/self-hosted-monitor/nginx-certbot.sh && ~/self-hosted-monitor/nginx-certbot.sh +``` + +8. Give permissions to [`prometheus-target.sh`](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/prometheus-target.sh) script and run it to add a scrape target. This can be run multiple times to add a new server to be monitored via Prometheus/ +```sh +chmod +x ~/self-hosted-monitor/prometheus-target.sh && ~/self-hosted-monitor/prometheus-target.sh +``` + +### The target server (the part to be monitored) setup + +If you run a monitoring stack and your node on two different VPS, the steps 9 and 10 need to be done on the VPS with the running node. In case you do it on the same VPS, skip directly to step 11 and continue. + +9. Install git +```sh +apt install git +``` + +10. Clone the repository to `~/self-hosted-monitor` +```sh +git clone https://github.com/ExploreNYM/self-hosted-monitor ~/self-hosted-monitor +``` +11. Give permissions to [`node-exporter.sh`](https://github.com/ExploreNYM/self-hosted-monitor/blob/main/node-exporter.sh) script and run it to setup Node exporter. +```sh +chmod +x ~/self-hosted-monitor/node-exporter.sh && ~/self-hosted-monitor/node-exporter.sh +``` + +### Grafana dashboard setup + +Finally we need to access Grafana dashboards. + +12. Open a browser at `http://:3000` or `https://` (depends on your setup), enter username `admin` and password `admin` and setup new credentials on prompt + +13. Setup *Data source* by opening menu -> `Connections` -> `Data sources` -> `+ Add new data source` -> `Prometheus` + +![](../images/grafana/add-data-sources.png) +![](../images/grafana/add-data-source-prometheus.png) + +14. In the field *Connection* next to `Prometheus server URL` enter `http://localhost:9090` (regardless if you accessing Grafana via `http` or `https` as this is for internal connection on the server). When you are done in the bottom confirm by `Save & Test` + +15. In the menu open: `Dashboards` -> `+ Create dashboard` -> `Import dashboard` + +![](../images/grafana/import-dashboard.png) + +16. ID field: enter `1860` -> `Load` + +![](../images/grafana/id-1860.png) + +17. In *Import dashboard* page select Prometheus in the bottom and finally `Import` + +![](../images/grafana/add-prometheus.png) + +Now you have your Prometheus panels displayed via Grafana dashboard for a simple monitoring of your node. + +## Verification and Troubleshooting + +To ensure that your services are running correctly, you can verify that by running `systemctl status ` or run a `journalctl -f -u ` to print service logs. It shall return status `Active: active (running)`. For example: +```sh +# to check if Prometheus service is active +systemctl status prometheus + +# to check if Grafana service is active +systemctl status grafana-server + +# to check if node-exporter service is active +systemctl status node_exporter + +# to run journal log +journalctl -f -u prometheus # or any other service you want to see +``` diff --git a/documentation/operators/src/testing/node-setup.md b/documentation/operators/src/testing/node-setup.md new file mode 100644 index 0000000000..3c1a1ca84c --- /dev/null +++ b/documentation/operators/src/testing/node-setup.md @@ -0,0 +1,79 @@ +# Node Setup for Performance Testing Event + +To join the [Performance testing event]({{performance_testing_webpage}}) node operators need to do proceed with the following tasks: + +1. **[Sign their node]({{performance_testing_webpage}}) into the testing environment** +2. **[Configure their node](#node-configuration) for the test** +3. (*Not mandatory*) [Setup metric monitoring system](templates.md) to observe node performance at any time + +## Node Configuration + +> Any syntax in `<>` brackets is a user's unique variable/version. Exchange with a corresponding name without the `<>` brackets. + +After you signed your node (or several) into the Performance testing environment, open the machine with (each of) your nodes and follow the steps below to configure your node for the event. + + +#### 1. Download and upgrade to `{{performance_testing_release}}` binary + - Download the binary from Nym [release page](https://github.com/nymtech/nym/releases/) (use `wget` or `curl` and binary download URL, don't compile from `master`) + - Follow the steps to upgrade node on the [maintenance page](../nodes/manual-upgrade.md) + - Before you re-start your node, follow the steps below + + +#### 2. If you run `nym-gateway` proceed with these steps. If not, go to the next point + - Make sure to have your `nym-gateway` setup as [Nym Exit Gateway](../legal/exit-gateway.md) following the commands [here](../nodes/gateway-setup.md#initialising-exit-gateway) + - Enable `[ip_packet_router]` (IPR) in your `~/.nym/gateways/*/config/config.toml` and IPv4 and IPv6 with [this script](https://gist.github.com/tommyv1987/ccf6ca00ffb3d7e13192edda61bb2a77) by running the two command below +```sh +# command to enable IPR +./nym-gateway setup-ip-packet-router --id --enabled true + +# script to enable IPv4 and IPv6 +curl -o enable_networking_for_nym_nodes.sh https://gist.githubusercontent.com/tommyv1987/ccf6ca00ffb3d7e13192edda61bb2a77/raw/0840e1d2ee9949716c45655457d198607dfd3107/enable_networking_for_nym_nodes.sh -L && chmod u+x enable_networking_for_nym_nodes.sh && sudo ./enable_networking_for_nym_nodes.sh +``` + + + + +#### 3. Restart your node with root privileges + - Either in a root shell or with `sudo -E` command + - In case you run your node as a [`systemd` service](../nodes/maintenance.md#systemd) make sure to run `systemctl daemon-reload` before the service restart + +## Troubleshooting + +If you come to any errors during the setup see troubleshooting page related to [Mix Nodes](../nodes/troubleshooting.md#mix-nodes) and [Gateways](../nodes/troubleshooting.md#gateways--network-requesters). In case your issue isn't documented ask in our Element [Node Operators channel](https://matrix.to/#/#operators:nymtech.chat) or raise an [issue](https://github.com/nymtech/nym/issues) on Github. + diff --git a/documentation/operators/src/testing/performance.md b/documentation/operators/src/testing/performance.md new file mode 100644 index 0000000000..ec4108d313 --- /dev/null +++ b/documentation/operators/src/testing/performance.md @@ -0,0 +1,32 @@ +# Performance Testing + +> To configure your node for a testing event, visit [node setup page](node-setup.md). + +Nym Mixnet has been running on mainnet for quite some time. There is still work to be done in order for the network to meet its full potential - mass adoption of privacy through fully distributed Mixnet. + +Nym asks its decentralised community of operators to join a series of performance testing events in order to **increase the overall quality of the Mixnet**. The main takeaways of such event are: + +1. Understanding of the network behavior under full load + - How many mixnet client users can all active set entry gateways handle simultaneously? + - How much sustained IP traffic can a subset of mainnet nodes sustain? +2. Needed improvements of Nym Node binaries to improve the throughput on mainnet +3. Measurement of required machine specs +4. Raw data record +5. Increase quality of Nym Nodes +6. Show each operator a way to monitor their nodes in a distributed fashion + +## Performance Testing Work Flow + +* Nym runs a paralel network environment [validator.performance.nymte.ch]({{performance_validator}}) with a chain ID `perf` +* Operators of Nym Nodes (currently `nym-mixnode` and `nym-gateway`) join by following easy steps on [performance testing web page]({{performance_testing_webpage}}), including simplified node authentication signature (while keep running their nodes on the mainnet) +* Once signed in, operators will be asked to swap their binary for the modified version with metrics endpoint to be able to connect their own [monitoring system](templates.md) +* Core node data will be fed to a unique mixnet contract for the `perf` side chain +* Nym starts a new API and start packet transition in high load through these nodes in both settings +* Nym tracks packet flow using Prometheus and Grafana +* Nym creates a large number of clients to the [performance validator network]({{performance_validator}}), intensifying the packet traffic +* Observe and record the metrics - this will probably put more strain on mainnet as well as many nodes spec is minimal + +## More Information + +* What happens after the test or what operators get for participating is shared up to date on the [performance testing web page]({{performance_testing_webpage}}) +* Visit our guides to [setup metrics template](templates.md) and learn how to operate them in self-custodial way diff --git a/documentation/operators/src/testing/prometheus-grafana.md b/documentation/operators/src/testing/prometheus-grafana.md new file mode 100644 index 0000000000..bd9f5af825 --- /dev/null +++ b/documentation/operators/src/testing/prometheus-grafana.md @@ -0,0 +1,36 @@ +# Prometheus & Grafana + +The combination of Prometheus and Grafana is a common stack used by Nym team for internal monitoring as well as by core community operators like [ExploreNym](https://github.com/ExploreNYM/vps-monitor) or [No Trust Verify](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1). + + + +## Prometheus + +[Prometheus](https://prometheus.io) is a free and open source monitoring systems. It allows operators to have their metrics, events, and alerts under full control. This ecosystem offers multiple advantages: + +- collects and records metrics from servers, containers, and applications +- provides a [flexible query language (PromQL)](https://prometheus.io/docs/prometheus/latest/querying/basics/) +- multiple modes visualization tools +- an alerting mechanism that sends notifications + +Prometheus collects and stores its metrics as time series data, i.e. metrics information is stored with the timestamp at which it was recorded, alongside optional key-value pairs called labels. + +## Grafana + +[Grafana](https://grafana.com/docs/grafana/latest/) is an open-source analytics and interactive front end. It is widely used for its easy to manage dashboards with visualizations like graphs, charts and alerts, all connected to live data sources. + +## Setup Guides + +There are various ways how to setup this stack. You can chose based on your preferences to do your own flow or follow some of the documented ones: + +- [ExploreNYM scripts](explorenym-scripts.md) for self-hosted monitoring +- Setup monitoring in a Docker container (*detailed guide will be published soon*) + + +## References and further reading + +* [Prometheus release page](https://prometheus.io/download/) +* [Prometheus documentation](https://prometheus.io/docs/introduction/overview/) +* Installation [guide to install Prometheus](https://www.cherryservers.com/blog/install-prometheus-ubuntu) on Ubuntu by cherryservers +* [Grafana installation guide](https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/) +* Nym's script [`prom_targets.py`](https://github.com/nymtech/nym/blob/promethus-is-our-friend/scripts/prom_targets.py) - a python program to request data from API and can be plugged to this stack diff --git a/documentation/operators/src/testing/templates.md b/documentation/operators/src/testing/templates.md new file mode 100644 index 0000000000..5bc922163f --- /dev/null +++ b/documentation/operators/src/testing/templates.md @@ -0,0 +1,17 @@ + Metrics of Performance Testing + +At Nym as well as several core community operators had setup metrics monitors for a clear overview of node performance. + +It is beneficial for a one time event or a limited period to connect nodes to the existing monitoring infrastructure system that Nym developers built to collect useful metrics. For the purpose of maximal privacy and decentralisation of the data - preventing Nym Mixnet from any global adversary takeover - we created these pages as a source of mutual empowerment, a place where operators can share and learn new skills to **setup metrics monitors on their own infrastructure**. + +## Collecting Testing Metrics + +For the purpose of the performance testing Nym core developers plan to run instances of Prometheus and Grafana connected to Node explorer in the house. The network overall key insights we seek from these tests are primarily internal. We're focused on pinpointing bottlenecks, capacity loads, and monitoring cpu usage on the nodes' machines. + +## Guides to Setup Own Metrics + +A list of different scripts, templates and guides for easier navigation: + +* [Prometheus and Grafana](prometheus-grafana.md) self-hosted setup +* [Nym-node CPU cron service](https://gist.github.com/tommyv1987/97e939a7adf491333d686a8eaa68d4bd) - an easy bash script by Nym core developer [@tommy1987](https://gist.github.com/tommyv1987), designed to monitor a CPU usage of your node, running locally +* Nym's script [`prom_targets.py`](https://github.com/nymtech/nym/blob/develop/scripts/prom_targets.py) - a useful python program to request data from API and can be run on its own or plugged to more sophisticated flows