-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme.txt
93 lines (74 loc) · 4.25 KB
/
readme.txt
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
Worlds number one ICMP monitoring solution
CodeIgniter 2.2.0 Project
req's:
- MySQL 5.7 (doesn't work on 8 because of the sql_mode we have to set below) / 10.5.15-MariaDB works, other Maria versions may work too
- php 5.6
- 10Gb Memory - including swap - add whatever swappage you need to get mem to 10Gb
--------------------------------------------------
Database
mysqladmin -u root -p create pinescore
mysql -u root -p pinescore < database_structure.sql
--------------------------------------------------
Setup
cp ./application/config/config.php.example ./application/config/config.php
cp ./application/config/database.php.example ./application/config/database.php
vim ./application/config/config.php
$dev_domain_tld = ".test"; //if this is youe development server, make sure tld matches domain. If production system, you can ignore this.
define('from_email', '[email protected]'); //general emails are sent from this address
$config['encryption_key'] = 'breasts';
:wq
vim application/models/email_dev_or_no.php
update the various email bits to decide if you get alerted in your development environment
vim ./application/config/database.php
'username' => 'db_user',
'password' => 'harrylikesherchainberofsecrets',
'database' => 'pinescore',
:wq
vim vim application/models/cron_protect.php
add servers local IP here, not 127.0.0.1, the real local IP
sudo vim /etc/mysql/my.cnf
paste the below at the bottom
[mysqld]
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sudo service mysql restart
otherwise you get this error: https://stackoverflow.com/questions/34115174/error-related-to-only-full-group-by-when-executing-a-query-in-mysql
OTHER:
the pine engine wasn't quite working on webadmin Server Configuration, Website options until I changed:
PHP script execution mode: CGI Wrapper
Maximum PHP script run time: 3600
this all speaks to the fact the ping engine needs to be rewritten.
--------------------------------------------------
crontabs
#creates score stats for offset and baseline, only needs to run once daily
0 0 * * * lynx --dump http://pinescore.com/api_ping/ > /dev/null 2>&1
#daily clean up tasks and general db maintenance
26 04 * * * lynx --dump https://pinescore.com/api_nightly/onceAday > /dev/null 2>&1
#colate group_shortterm_scores into group_longterm_scores and flush shortterm rows. runs only mon-fri at 5pm to give us a more accurate score
#for nodes dropping packets in the week during the day
23,33,44 17 * * 1-5 lynx --dump http://pinescore.com/api_ping/longTermGroupScores > /dev/null 2>&1
#Cleans up tables and logs shortterm group scores
24 * * * * lynx --dump https://pinescore.com/api_nightly/ > /dev/null 2>&1
#^^ table updated in above daemon is created as part of the laravel migrations in the engine project
*/5 * * * * lynx --dump https://pinescore.com/api_nightly/flushPingResultTable > /dev/null 2>&1
#calculate the "pinescore" and update database for each IP
* * * * * lynx --dump https://pinescore.com/daemon/bitsNbobs/updatepinescore > /dev/null 2>&1
#daily average ms update and alert
31 08 * * * lynx --dump https://pinescore.com/daemon/bitsNbobs/checkChangeOfCurrentMsAgainstLTA > /dev/null 2>&1
#monthly average ms update (updates every 4 hours)
35 00,06,12,18 * * * lynx --dump https://pinescore.com/daemon/average30days > /dev/null 2>&1
#crons below this line are not essential for the pinescore project to work
#delete files from pinescore.com/111 older than 30 days
10 09 * * * find /home/pinescore/public_html/111/* -mtime +30 -type f -delete
#more touching of files we want to remain
11 11 11 * * touch /home/pinescore/public_html/111/ns_*
after sorting crontabs, test by running this command:
lynx --dump https://pinescore.com/daemon/bitsNbobs/updatepinescore
#other notes
when exporting DB structure:
remove these tables as they are handled by laravel migrations:
failed_jobs
traceroutes
group_monthly_scores
had issues if you don't even though migrations should drop tables first.111
Known Buggies:
- If you're getting an error in ref to header size when trying to update/add new nodes. Make sure $config['sess_use_database'] is set to true in application/config/config.php. You'll need to create a new table in DB for session sates, see database_structure.sql