git commit -m 'gay'

All of the blunderous commit messages from John.

2021 Commits

rXgBackup

Removed all unnecessary import statements. Updated and fixed comments throughout the script. Added a check for folders in SharePoint which were added by the script and thus not included in the original folder check. This will prevent attempts to duplicate folders in SharePoint in the instance that an rXg with no folder has multiple local backup files to upload.

02/26/2021 16:24:31

rXgBackup

Removed accidentally created junk file.

02/26/2021 15:47:52

rXgBackup

Added a deletion for the local file once the sync with SharePoint has been completed. Fixed a bug in the delete_graph function that prevented multiple files from being successfully deleted in the instance that a directory gets more than 5 files in it.

02/26/2021 15:46:31

CarbonBlackInstallers

Modified the macOS installer package to only do System Extensions with Big Sur per the support guidance from Carbon Black. Modified the Windows installer to increase the logging and fixed a bug where I was referencing the exclusion object rather than the ExclusionPath property of the object.

02/25/2021 22:17:40

rXgBackup

Added a the delete_graph function to remove content via the Graph API. It will query the provided directory for all content, and then it will loop through that content, deleting the oldest item found until only 4 things are left. I also added code to the main body calling this after a successful file upload.

02/25/2021 22:14:36

rXgBackup

Added the ability to upload the current file into SharePoint at the desired directory, breaking it into chunks small enough to be uploaded and using an upload session returned by the Graph API.

02/22/2021 23:19:26

rXgBackup

Added code to create a new directory at the specified root folder when a directory is not present in SharePoint for a given rXg. The name of the directory matches the DNS name for the rXg, which is parsed out of the file name of the backup tarball.

02/22/2021 22:51:48

rXgBackup

Added code to recursively gather the list of backup tarballs which have been pushed to the host. Additionally added a query to get the sub-folders of a source directory from SharePoint for keeping the backups of each rXg separate from one another.

02/22/2021 18:26:33

LogicMonitorGroovy

Modified the configuration sources for XIQ to allow for a 20 second network timeout. This helps alleviate issues due to slow responses from XIQ.

02/19/2021 21:25:32

rXgBackup

Added functions from a previous script for handling the log file and connections to the MS Graph.

02/19/2021 15:17:17

rXgBackup

Added baseline Python .gitignore file.

02/19/2021 15:13:17

rXgBackup

Initial commit

02/19/2021 15:07:02

LogicMonitorGroovy

Adjusted the percentage of licenses free to round to a whole number. Calculated corresponding values for the number of licenses consumed and the percent of licenses consumed.

02/19/2021 13:56:32

LogicMonitorGroovy

Added a new script to do Active Discovery for only XIQ APs, ignoring switches. Then created a companion script that will query for all of the clients attached to that particular AP. The network and radio health metrics for each client are then averaged out and reported back to LogicMonitor.

02/17/2021 20:52:25

LogicMonitorGroovy

Adjusted the HTTP client for all Extreme CloudIQ queries to allow for a greater timeout period of 20 seconds.

02/16/2021 21:39:09

LogicMonitorGroovy

Modified the count of the device types in Extreme Cloud IQ to have a separate instance for each model. This allows LogicMonitor to automatically process every model type without needing to maintain a list for each datapoint.

02/12/2021 16:16:07

LogicMonitorGroovy

Modified the client OS aggregate to make an instance in LogicMonitor for each client OS type. This way we no longer need to account for each value that may be returned as a LogicMonitor data point.

02/12/2021 15:39:23

LogicMonitorGroovy

Modified the timeout period to extend it by an additional 500 ms to account for a timeout that was being experienced.

02/11/2021 20:13:11

LogicMonitorGroovy

Added new contract data sources for 5 additional managed service offerings. These are all the same as the existing contract sources, but the source different CSV files.

02/11/2021 16:14:56

SharePointInventory

Added additional contract .csv file to ingest from SharePoint to the local LogicMonitor collector.

02/11/2021 14:33:54

CarbonBlackInstallers

Added baseline script files that act as wrappers to simplify the CLI-based installation of Carbon Black.

02/09/2021 22:01:24

CarbonBlackInstallers

Initial commit

02/09/2021 20:27:32

LogicMonitorGroovy

Made an additional update to the discovery scripts for Extreme CloudIQ devices. For non-APs, the hostname is generally the model of the device, which is not unique. LogicMonitor will only display duplicate names once, even if the identifier is unique. As a result, non-APs now have the last 4 characters of their MAC address appended to the end of the hostname.

02/05/2021 15:57:27

LogicMonitorGroovy

Tweaked the device discovery scripts for Extreme CloudIQ to include the IP of the management interface in the device description for LogicMonitor. The hostname is typically just the device model, which is what is being used for the friendly name. This made identifying a particular device from a list in LogicMonitor difficult.

02/05/2021 14:50:33

LogicMonitorGroovy

Modified the script to gather alerts from the LibreNMS API to account for the fact that the timestamp on each alert is the local system time but without any offset provided. Since the query from LogicMonitor is always based on UTC, the script now takes an offset property on the LibreNMS resource in LM and modifies the query time to gather alerts from the last 15 minutes. Additional functions were added for the number of days in each month, and determining whether or not it's currently DST so that the offset can be adjusted accordingly.

02/05/2021 14:01:53

GroovyMSAL

Merge branch 'main' of https://github.com/jfabry-noc/GroovyMSAL

02/03/2021 22:38:24

GroovyMSAL

Added .DS_Store to .gitignore after cloning to macOS.

02/03/2021 22:38:00

LogicMonitorGroovy

Merge pull request #5 from jfabry-noc/Bob_test Update dashboard event alerts to default to only events greater than a level 4.

02/03/2021 21:38:11

GitCommit

Removed the jfabhd.com link from both the main index and 2020 index. Added the JavaScript snippet for Cloudflare Analytics.

01/30/2021 21:20:11

LogicMonitorGroovy

Made 2 alert checks for state = 1, which is the default for alerts, and state = 0, which is when an alert is OK. This is necessary since transient alerts, like reboots would be missed if state = 0 isn't checked. Also added an additional query for the alert rule name and parsed that with the hostname in order for clearer messaging.

01/25/2021 20:58:27

jfabry-noc.github.io

Added Cloudflare Analytics script to the end of the index.html page.

01/23/2021 17:58:20

LogicMonitorGroovy

Added a discovery and collection script for XIQ switch port status. The discovery script tunes out APs and switches that are not currently connected since their ports will always be down. For switches that are active, ports translate their status to an integer for LogicMonitor with 1 being up, 2 being administratively disabled, and 3 being down.

01/22/2021 16:52:29

LogicMonitorGroovy

Added the EXOSSWITCH and XR600P devices models for the aggregate data. Modified the Active Discovery details to use the device model as the description in LogicMonitor.

01/22/2021 15:01:08

DeskTickets

Fixed a bug in both scripts where I was accidentally calling the non-existant os.exit() method rather than sys.exit() to close the script.

01/22/2021 13:36:44

DeskTickets

Added a second script to the repository to process agent and account metrics only for the previous month. This will allow for the metrics in the yearly script to be built upon in an ongoing basis. It will write agent and account .csv files named with the year and month combination of the data gathered.

01/20/2021 16:31:39

GroovyMSAL

Updated the README to actually say what the heck the purpose of this repo is.

01/20/2021 13:13:19

GroovyMSAL

Modified the handling of the received token to leverage the .accessToken() method on it. Passing this value to the request for user data is successful rather than passing the entire IAuthenticationResult object.

01/20/2021 13:07:08

GroovyMSAL

Added a second variant of the script that uses the exact same function as the sample Java code from Microsoft other than not containing global variables, but it generates the same issue with the JWT. Also verified that intentionally flubbing the client ID, tenant ID, secret, or scope generates a specific error for that piece of information.

01/20/2021 02:18:46

GroovyMSAL

Added functions for getting an authentication token and then querying for the AAD users. Functions are complete, but there's currently an issue with retrieving a valid JWT.

01/20/2021 01:49:41

LogicMonitorGroovy

Added a call to Math.round() for the available licenses since Groovy was setting the difference of the subtraction to a float. The operand for the total licenses will always be a whole number, but the number of consumed licenses can be a decimal depending on the collection metrics returned from the /graphs/ endpoint.

01/19/2021 15:43:23

LogicMonitorGroovy

Added calculations for the percentage of free licenses for an rXg instance. Printed the percentage, total licenses, and total consumed licenses to standard out for LogicMonitor. The calculations and comparisons of the different levels may need to be modified further once a clustered implementation is available for testing.

01/19/2021 15:36:14

LogicMonitorGroovy

Cleaned up formatting and comments. Modified the final println calls to the key-value pair format expected by LogicMonitor.

01/19/2021 15:21:42

GroovyMSAL

Added the basic code with the Grape statement and msal4j import from the Maven repository, along with the method imports. Added the code for importing the AAD-specific information from a local JSON file. Created a .gitignore to keep the .json file and Vim .swp files from accidentally being included in the GitHub repo.

01/19/2021 00:40:33

GroovyMSAL

Initial commit

01/19/2021 00:28:31

LogicMonitorGroovy

Added switch model X435_24P_4S to the keys.

01/18/2021 18:59:28

LogicMonitorGroovy

Modified the URL to query to account for the different cloud providers that may be hosting the instance; the value for the URL base is specified as a property on the resource in LogicMonitor.

01/18/2021 16:56:42

LogicMonitorGroovy

Added the moving of each valid health notice into a list of dictionaries. The list is then parsed to JSON and printed to standard out for LogicMonitor to ingest each item in the list as an event. Also cleaned up the comments and test code, specifying the production values.

01/18/2021 16:18:22

LogicMonitorGroovy

Renamed the file for health notices to reflect that was the use. Replaced the conditional logic from the last commit for removing the : from the timezone offset in the creation timestamp for each notice with a regex.

01/18/2021 15:47:49

LogicMonitorGroovy

Created a DataSource for getting the health notices from an rXg. Implemented the ability to query for all notices, along with code to reformat the creation date timestamp and parse to a Date object for comparison.

01/15/2021 21:31:55

LogicMonitorGroovy

Added the basline code for querying the total number of concurrent licenses on the platform. Checks if the licensing is standalone or clustered. Captures the peak concurrent usage over the past 10 minutes and reports on the highest value.

01/14/2021 21:58:22

LogicMonitorGroovy

Created a script to parse out the certificate details for an rXg. The end date of the certificate's validity is compared to the current date, and the number of days remaining (or passed) are reported to LogicMonitor for alerting.

01/14/2021 14:46:31

LogicMonitorGroovy

Added a discovery script to exclude APs and get only switches from XIQ. The device IDs are passed to a collector script which then dumps the switch configuration into LogicMonitor.

01/13/2021 19:03:37

LogicMonitorGroovy

Modified the URL parsing for the script getting the SSID config of each device to match the parsing for the device discovery so that each cloud host and VIQID is accounted for.

01/13/2021 15:21:37

LogicMonitorGroovy

Updated the URL from being hard-coded to account for both the cloud hosting the XIQ instance and applying the appropriate VIQID needed for all calls.

01/13/2021 15:11:30

jfabry-noc.github.io

Merge branch 'master' of https://github.com/jfabry-noc/jfabry-noc.github.io

01/13/2021 14:16:12

jfabry-noc.github.io

Modified the first paragraph to match the content at https://unusually.pink/about/

01/13/2021 14:15:20

LogicMonitorPwsh

Added a new conditonal for a specific customer match to check data regardless of modem status.

01/12/2021 21:23:06

DeskTickets

Moved the writing of the .csv files to a function. Added an additional function to handle the deletion of existing .csv files prior to writing new ones to avoid manual cleanup prior to subsequent runs of the script.

01/11/2021 18:45:04

DeskTickets

Moved both accounts and agents to use the same object type. Added code to write a .csv file for each of the 4 lists created if the list contains content. Placed those into a results folder which has been excluded in the .gitignore file.

01/11/2021 16:14:51

DeskTickets

Added logic for tickets matching the first comparison year to gather account and agent details for each, including the ability to account for tickets where account or agent information wasn't supplied.

01/08/2021 22:18:54

DeskTickets

Added a function to iterate through all pages to return every ticket in the instance.

01/08/2021 16:54:14

DeskTickets

Added an untracked file for the API configuration. Created a function for POSTing to Desk to get an authentication token that will be used with subsequent queries.

01/08/2021 16:18:21

DeskTickets

Initial commit

01/08/2021 15:36:33

O365Logins

Modified the recipient email to the DL which will receive the messages long-term. Updated the filtering of the accounts to prevent the inclusion of known service accounts that are accessed via delegation rather than direct login.

01/07/2021 15:21:09

O365Logins

Manually removed the __pycache__ directory since I forgot to do it when I added it to the .gitignore file.

01/06/2021 22:19:39

O365Logins

Added __pycache__/ to the .gitignore.

01/06/2021 22:17:03

O365Logins

Added additional checks for whether the account is a guest and if it has licensing assigned. The licensing assignment check weeds out shared mailboxes and resource mailboxes. Added an import for my send_email function from an external module and added code leveraging that to send an email with a table of results to a recipient value.

01/06/2021 22:15:21

O365Logins

Added a function to query for the single audit log entry for each user. Added code to parse together the HTML body for the email that would be sent in an instance where there is a hit. The audit log is finite, so accounts with no audit log entry are set to the maximum audit log threshold of 90 days.

01/06/2021 21:31:33

LogicMonitorGroovy

Replaced a standardized email address for ticket filtering with an updated one the customer is now using.

01/06/2021 16:06:51

O365Logins

Added code for logging the activity of the script since it will run unattended as a cron job once completed. Included supplementary function for backing up the log file on the local file system once it grows too large. Added functions for getting an authentication token from the Microsoft Graph and validating that token. Created a function for querying the Graph for data, and then code calling that function to return the entire list of users in the tenant.

01/05/2021 23:35:51

O365Logins

Added a baseline .gitignore file for Python projects.

01/05/2021 22:38:39

GitCommit

Also modified the relative link to the header image in the 2020 page.

01/05/2021 22:36:31

GitCommit

Fixed the relative links to the CSS in the 2020 page.

01/05/2021 22:35:48

GitCommit

Copied all 2020 commits to a dedicated 2020 page. Removed the 2020 commit content from the main page and changed the heading to indicate that it was for 2021 commits. Added links to the 2020 and 2021 commits in the footer. Modified the image at the top of the page to link to the main index.

01/05/2021 22:34:05

O365Logins

Initial commit

01/05/2021 22:26:31